PHP安全配置

本文最后更新于:2021年12月8日 凌晨

🐘PHP安全配置🐘

一、修改PHP配置文件

1
2
3
vim /usr/local/apache2/conf/php.ini
或者
vim /etc/local/apache2/conf/php.ini

1、打开php的安全模式

1
safe_mode = on

2、用户组安全

1
safe_mode_gid = off

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版本信息

1
expose_php = Off

8、关闭注册全局变量

1
register_globals = Off

9、防止SQL注入

1
magic_quotes_gpc = Off

10、错误信息控制

1
2
display_errors = Off
display_startup_errors =Off

11、禁止访问远程文件

1
2
allow_url_fopen = off
allow_url_include =Off

12、nginx文件解析漏洞防御

1
cgi.fix_pathinfo = 0

13、POST的限制

1
post_max_size=2m

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
1
2
session.use_cookies=On
session.use_only_cookies=On

18、防止会话模块使用未初始化的会话 ID

1
session.use_strict_mode=On
1
session.cookie_httponly=On
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
log_errors = On

设置错误日志存放的目录

1
error_log = [自己设定的安全目录/php_error.log]

参考文档:PHP官方中文手册

📣特别声明

此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,

如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,

在此,感谢大家的阅读与支持!🤝💦🎉

🍻支持一下

觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。

👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!