OWASP 维护的 PHP 安全配置速查表-php教程

资源魔 36 0

引见

这个页面的目的是为了协助那些设置装备摆设 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 文档 以取得对于 php.ini 设置装备摆设文件中每一个值的参考。

你能够正在一个现成的 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 设置成 Off, 同时最佳养成常常查看这些日记的好习气。

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 该当被设置成 Off。

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 解决

Session 设置中有一些需求重点存眷的值, 将 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

以上就是OWASP 保护的 PHP 平安设置装备摆设速查表的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!