文章轉(zhuǎn)自:https://learnku.com/php/t/26973
介紹
這個(gè)頁(yè)面的目的是為了幫助那些配置 PHP 和運(yùn)行它的 web 服務(wù)器的人確保它的安全性肋演。
下面你將找到有關(guān) php.ini
文件的正確配置信息。
php.ini
下面的一些設(shè)置需要適應(yīng)你的系統(tǒng)惨恭,特別是 session.save_path
蛤吓, session.cookie_path
(例如: /var/www/mysite
)往枷,和 session.cookie_domain
(例如:ExampleSite.com
)。
你還應(yīng)該運(yùn)行 PHP 7.2 或者更高版本菲驴。如果你運(yùn)行的版本是 PHP 7.0 和 PHP 7.1 ,你將在下面的幾個(gè)地方使用略有不同的值(看內(nèi)聯(lián)的注釋?zhuān)┢锶摺W詈笊匏玻榭?PHP 文檔 以獲得關(guān)于 php.ini
配置文件中每個(gè)值的參考。
你可以在一個(gè)現(xiàn)成的 php.ini
文件中找到以下配置的副本 此處 贼涩。
PHP 錯(cuò)誤處理
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
請(qǐng)注意:你需要在生產(chǎn)環(huán)境中 display_errors
設(shè)置成 Off
巧涧, 同時(shí)最好養(yǎng)成經(jīng)常查看這些日志的好習(xí)慣。
PHP 通用設(shè)置
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_*
很容易發(fā)生 LFI 還有 RFI 完全漏洞遥倦。
PHP上傳文件處理
file_uploads = On
upload_tmp_dir = /path/PHP-uploads/
upload_max_filesize = 2M
max_file_uploads = 2
如果你的應(yīng)用沒(méi)有使用文件上傳功能谤绳,或者說(shuō)用戶唯一的輸入上傳的方式是通過(guò)沒(méi)有包含文檔附件的表單提交, file_uploads
應(yīng)當(dāng)被設(shè)置成 Off
袒哥。
PHP 可執(zhí)行處理
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
# 請(qǐng)查看:http://ir.php.net/features.safe-mode
disable_classes =
以上是PHP中存在危險(xiǎn)的方法和類(lèi).缩筛。你應(yīng)當(dāng)禁用其中不會(huì)使用到的方法和類(lèi)。
PHP session 處理
Session 設(shè)置中有一些需要重點(diǎn)關(guān)注的值堡称, 將 session.name 改成新的是個(gè)很好的練習(xí).
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小時(shí)
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
文章轉(zhuǎn)自:https://learnku.com/php/t/26973
更多文章:https://learnku.com/laravel/c/translations