资讯专栏INFORMATION COLUMN

[PHP 安全] OWASP 维护的 PHP 安全配置速查表

dabai / 3074人阅读

摘要:文章转自介绍这个页面的目的是为了帮助那些配置和运行它的服务器的人确保它的安全性。下面你将找到有关文件的正确配置信息。最后,查看文档以获得关于配置文件中每个值的参考。

文章转自:https://learnku.com/php/t/26973
介绍

这个页面的目的是为了帮助那些配置 PHP 和运行它的 web 服务器的人确保它的安全性。

下面你将找到有关 php.ini 文件的正确配置信息。

php.ini

下面的一些设置需要适应你的系统,特别是 session.save_pathsession.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://learnku.com/php/t/26973 

更多文章:https://learnku.com/laravel/c...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31191.html

相关文章

  • php, js, mysql, regexp开发常用查表

    showImg(https://segmentfault.com/img/bVr88Q); showImg(https://segmentfault.com/img/bVr9BP); showImg(https://segmentfault.com/img/bVr9BS); showImg(https://segmentfault.com/img/bVr9BU);

    shevy 评论0 收藏0
  • php, js, mysql, regexp开发常用查表

    showImg(https://segmentfault.com/img/bVr88Q); showImg(https://segmentfault.com/img/bVr9BP); showImg(https://segmentfault.com/img/bVr9BS); showImg(https://segmentfault.com/img/bVr9BU);

    SolomonXie 评论0 收藏0
  • php, js, mysql, regexp开发常用查表

    showImg(https://segmentfault.com/img/bVr88Q); showImg(https://segmentfault.com/img/bVr9BP); showImg(https://segmentfault.com/img/bVr9BS); showImg(https://segmentfault.com/img/bVr9BU);

    KnewOne 评论0 收藏0
  • 数据分析 - 最火 PHP 框架是哪个?

    摘要:推荐以下资源中文新手书籍入门教程社区维护的中文文档,涵盖版本社区由在年创建的中文社区速查表速查表资讯项目上线,整站源码开源来自 这里列几个客观的数据(截止至 2017 年 1 月 2 日): 一、Github 上 PHP 项目排行第一 Laravel 作为这一页里最晚出现的框架,Star 数量远远高于排名第二的框架。链接在此 Build software better, togethe...

    Maxiye 评论0 收藏0
  • Laravel Eloquent 模型关联查表

    摘要:模型資料庫遷移儲存紀錄在及之間建立關聯在及之間建立關聯取得紀錄取得取得一对多关联示例细节在此示例中,我们有两个模型小偷和车,和两张表和。业务规则小偷可以偷走多辆车。关系图关联详情关联表应该保存驾驶员和汽车。 showImg(https://segmentfault.com/img/remote/1460000016043938); 一張 Laravel’s Eloquent ORM 5...

    flybywind 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<