実際、プログラミングの観点から見ると、PHP に問題はありません。重要なのは、PHP でコンパイルされたものが安全かどうかです。PHP の動作は、NT または WIN9X 上の言語インタプリタによって完了します。つまり、PHP です。 .EXE.PHP.EXE は、拡張子が .PHP、.PHP3、または .PHTML であるファイルを解釈し、定義されたプログラムに従ってデータベースにアクセスし、ファイルの読み取りと書き込みを実行したり、外部コマンドを実行したりする機能です。実行結果を STRING に整理し、それを HTML 形式のファイルとしてブラウザに送信します。
その動作プロセスがわかったので、PHP のセキュリティの問題について説明します。上記のファイルでは、ファイルの読み取りと外部コマンドの実行について言及していますが、実際、MS-DOS では PHP.EXE を使用して任意のファイルの内容を読み取ることができます。ファイルの内容を読み、説明を説明し、フィルターを適用します。 もちろん、これはそれほど単純ではありません。 WEB サーバーについては後ほど説明します。
PHP の 2 番目の機能は、この機能によって引き起こされます。
そのタスクは次のとおりです。変数 $file の内容を読み取るプログラム プログラムを呼び出すとき、オペレーターはファイル A http://shabi.com/index.php3?file=a.txt を読んでいると単純に考えるかもしれません。変数 FILE には厳しい制限があり、これはセキュリティ上の問題につながります。セキュリティの知識が少しある人なら、A.TXT を /etc/passwd または ../../../../ に変更することも知っていると思います。 NTPHP の ./winnt/repair/sam._ 3 番目の機能は、UNIX ではより一般的な外部コマンド (ls、echo など) を実行することです。実際、これが問題を引き起こす可能性が最も高いことは誰もが知っています。 SHELL は、パイプ記号 |: または ~ を使用してコマンドを連続的に実行できます。 さて、ここで皆さんに議論していただくためのアイデアを提供します。これは WEB メールに関するもので、もちろん WEB プログラミングにも関係します。メールを申請するときは登録する必要があり、登録するときに名前などの制限を知る必要がありますが、パスワードの制限は厳しくなく、メールの長さは長くなります。プログラムは、次のようにユーザーを追加するために SHELL コマンドを呼び出す必要がある場合があります。ADD USER、パラメータはユーザー名とパスワードです add user lovehacker 1234567 では、パスワードが a|reboot の場合はどうなるでしょうか。パスワードを暗号化し、ユーザーを追加する権限が十分に大きければ、もちろん COMPUTER を再起動できますが、暗号化したい場合は問題ありません。たとえば、MD5 または DES を使用して、暗号化された STRING を作成するプログラム: rf -rm /*もちろん、これは単なるアイデアです。私はまだ実践していません:_) もちろん、私は仕事で忙しすぎます。これを見ても、どれほど真剣であるかがわかります。厳密に判断せずにSHELLコマンドを実行することです