はじめに
このページの目的は、PHP とそれを実行する Web サーバーの設定を支援することです。その安全性を確保します。
以下に、php.ini ファイルの正しい構成情報が記載されています。
php.ini
次の設定の一部、特に session.save_path、session.cookie_path (例: /var/www) をシステムに適合させる必要があります。 /mysite) 、および session.cookie_domain (例: ExampleSite.com)。
PHP 7.2 以降も実行する必要があります。 PHP 7.0 と PHP 7.1 を実行している場合は、以下のいくつかの場所でわずかに異なる値を使用します (インライン コメントを参照)。
最後に、php.ini 設定ファイルの各値のリファレンスについては、PHP ドキュメントを確認してください。
次の設定のコピーは、既製の php.ini ファイルでここにあります。
PHP エラー処理
expose_php = Off error_reporting = E_ALL display_errors = Off display_startup_errors = Off log_errors = On error_log = /valid_path/PHP-logs/php_error.log ignore_repeated_errors = Off
注意: 運用環境では、display_errors をオフに設定する必要があります。これらのログをチェックする良い習慣を身に付けることが最善です。頻繁に。
PHP 共通設定
doc_root = /path/DocumentRoot/PHP-scripts/ open_basedir = /path/DocumentRoot/PHP-scripts/ include_path = /path/PHP-pear/ extension_dir = /path/PHP-extensions/ mime_magic.magicfile = /path/PHP-magic.mime allow_url_fopen = Off allow_url_include = Off variables_order = "GPCS" allow_webdav_methods = Off session.gc_maxlifetime = 600
allow_url_* LFI および RFI の完全な脆弱性が存在するのは簡単です。
PHP アップロード ファイル処理
file_uploads = On upload_tmp_dir = /path/PHP-uploads/ upload_max_filesize = 2M max_file_uploads = 2
アプリケーションがファイル アップロード機能を使用しない場合、またはユーザーがアップロードを入力する唯一の方法が、ファイル アップロード機能を使用しないフォームを使用する場合ドキュメントの添付ファイルを含む 送信するには、file_uploads をオフに設定する必要があります。
PHP 実行ファイルの処理
enable_dl = Off disable_functions = system, exec, shell_exec, passthru, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, move_uploaded_file, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo # 请查看:http://ir.php.net/features.safe-mode disable_classes =
上記は、PHP の危険なメソッドとクラスです。使用されないメソッドとクラスは無効にする必要があります。
PHP セッション処理
セッション設定には注意が必要な値がいくつかあります。session.name を次のように変更することをお勧めします。新しいものです。
session.save_path = /path/PHP-session/ session.name = myPHPSESSID session.auto_start = Off session.use_trans_sid = 0 session.cookie_domain = full.qualified.domain.name #session.cookie_path = /application/path/ session.use_strict_mode = 1 session.use_cookies = 1 session.use_only_cookies = 1 session.cookie_lifetime = 14400 # 4小时 session.cookie_secure = 1 session.cookie_httponly = 1 session.cookie_samesite = Strict session.cache_expire = 30 session.sid_length = 256 session.sid_bits_per_character = 6 # PHP 7.2+ session.hash_function = 1 # PHP 7.0-7.1 session.hash_bits_per_character = 6 # PHP 7.0-7.1
セキュリティ リスクのさらなるチェック
session.referer_check = /application/path memory_limit = 50M post_max_size = 20M max_execution_time = 60 report_memleaks = On track_errors = Off html_errors = Off
英語の元のアドレス:
https://github.com/OWASP/CheatSheetSeries /blob/master/cheatsheets /PHP_Configuration_Cheat_Sheet.md
以上がPHP セキュリティ構成チートシートは OWASP によって保守されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。