本文最后更新于:2021年12月8日 凌晨
🐘PHP安全配置🐘
一、修改PHP配置文件
| vim /usr/local/apache2/conf/php.ini 或者 vim /etc/local/apache2/conf/php.ini
|
1、打开php的安全模式
2、用户组安全
3、安全模式下执行程序主目录
1
| safe_mode_exec_dir = [自己设定的安全目录]
|
4、安全模式下包含文件
1
| safe_mode_include_dir = [自己设定的安全目录]
|
5、控制php脚本能访问的目录
1
| open_basedir = [自己设定的安全目录]
|
6、关闭危险函数
关闭执行命令型函数
1
| disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
|
关闭文件和目录的操作型函数
1
| disable_functions = chdir,chroot,dir,getcwd,opendir,readdir,scandir,fopen,unlink,delete,copy,mkdir, rmdir,rename,file,file_get_contents,fputs,fwrite,chgrp,chmod,chown
|
7、关闭PHP版本信息
8、关闭注册全局变量
9、防止SQL注入
10、错误信息控制
1 2
| display_errors = Off display_startup_errors =Off
|
11、禁止访问远程文件
1 2
| allow_url_fopen = off allow_url_include =Off
|
12、nginx文件解析漏洞防御
13、POST的限制
14、限制文件上传
1 2 3 4
| file_uploads = On upload_tmp_dir =/data/www/tmp upload_max_filesize = 2M max_file_uploads = 20
|
15、dos控制
1
| max_execution_time = 30<br>max_input_time = 30<br>memory_limit = 40M<br>max_input_vars = 1000
|
16、会话ID的生命周期
1
| session.cookie_lifetime=0
|
17、开启HTTP cookie
1 2
| session.use_cookies=On session.use_only_cookies=On
|
18、防止会话模块使用未初始化的会话 ID
1
| session.use_strict_mode=On
|
19、禁止 JavaScript 访问会话 cookie
1
| session.cookie_httponly=On
|
20、仅允许在 HTTPS 协议下访问会话 ID cookie
1
| session.cookie_secure=On
|
21、降低 CSRF 攻击
1
| session.cookie_samesite="Lax" 或者 session.cookie_samesite="Strict"
|
22、设置删除过期会话数据的时间周期
1
| session.gc_maxlifetime=[选择一个尽可能小的时间段]
|
23、禁用会话 ID 透传机制
1
| session.use_trans_sid=Off
|
24、降低会话 ID 注入
1
| session.referer_check=[原始 URL]
|
25、错误日志
设置错误日志存放的目录
1
| error_log = [自己设定的安全目录/php_error.log]
|
参考文档:PHP官方中文手册
📣特别声明
此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,
如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,
在此,感谢大家的阅读与支持!🤝💦🎉
🍻支持一下
觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。
👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇