PHP のいくつかの危険な機能を無効にする必要性について、PHP 環境の友人と共有します。必要に応じて、未使用の機能を無効にすることができます。
phpinfo()
機能説明: PHPの環境情報や関連モジュール、WEB環境などの情報を出力します。
危険度:中
パススルー()
関数の説明: exec() と同様に、外部プログラムを実行し、出力をエコーすることができます。
危険度:高
実行()
機能説明: 外部プログラム(UNIXシェルやCMDコマンドなど)の実行を許可します。
危険度:高
システム()
関数の説明: passthru() と同様に、外部プログラムを実行して出力をエコーできるようにします。
危険度:高
chroot()
機能の説明: システムが CLI モードをサポートしている場合にのみ、現在の PHP プロセスの作業ルート ディレクトリを変更できます
この関数は PHP でのみ動作し、Windows システムでは使用できません。
危険度:高
スキャンディル()
機能の説明: 指定されたパス内のファイルとディレクトリを一覧表示します。
危険レベル: 中
chgrp()
機能説明: ファイルまたはディレクトリが属するユーザーグループを変更します。
危険度:高
ちょん()
機能の説明: ファイルまたはディレクトリの所有者を変更します。
危険度:高
shell_exec()
機能説明: シェルを通じてコマンドを実行し、実行結果を文字列として返します。
危険度:高
proc_open()
機能の説明: コマンドを実行し、読み取りおよび書き込みのためにファイル ポインターを開きます。
危険度:高
proc_get_status()
関数の説明: proc_open() を使用して、オープンされたプロセスに関する情報を取得します。
危険度:高
error_log()
機能説明: エラー情報を指定した場所(ファイル)に送信します。
セキュリティ上の注意: PHP の一部のバージョンでは、error_log() を使用して PHP セーフ モードをバイパスできます。
任意のコマンドを実行します。
危険レベル: 低
関数説明: ini_set()関数のエイリアス関数であり、ini_set()と同じ機能を持ちます。
詳細については、ini_set() を参照してください。
危険度:高
機能の説明: PHP 環境構成パラメーターを変更および設定するために使用できます。
危険度:高
機能説明: PHP 環境設定パラメータを初期値に戻すために使用できます。
危険度:高
機能の説明: PHP の実行中に (起動時ではなく) PHP 外部モジュールをロードします。
危険度:高
機能の説明: インターネットまたは UNIX ドメインでソケット永続接続を確立します。
危険度:高
機能説明: UNIX システムのシステム層 syslog() 関数を呼び出すことができます。
危険レベル: 中
関数の説明: シンボリック リンクが指すターゲット ファイルの内容を返します。
危険レベル: 中
機能の説明: UNIX システムでシンボリック リンクを作成します。
危険度:高
機能の説明: コマンドは、popen() のパラメータを介して渡され、popen() によって開かれたファイル上で実行できます。
危険度:高
機能の説明: インターネットまたは UNIX サーバー接続を確立します。
危険レベル: 中
機能説明: PHP 実行時にシステムの文字セット環境を変更するために使用されます。 PHP バージョン 5.2.6 より前のバージョンでは、この関数を使用できます
システムの文字セット環境を変更した後、sendmail コマンドを使用して特別なパラメータを送信し、システム SHELL コマンドを実行します。
危険度:高
/etc/php.ini ファイルを開きます
次のように、disable_functions を見つけて、無効にする関数名を追加します。
phpinfo、eval、passthru、exec、system、chroot、scandir、chgrp、chown、shell_exec、proc_open、proc_get_status
http://www.bkjia.com/PHPjc/629670.html