相信很多开发者都会用PHP,但是很多PHP开发者对php.ini的安全设置不重视,或者说不了解。下面罗列出php.ini一些参数安全设置,供大家学习交流!
禁用的函数
1 | disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,phpinfo |
避免暴露PHP信息
1 | expose_php = off |
屏蔽错误信息
1 | display_errors = off |
禁止dl文件
1 | enable_dl = off |
禁止远程加载文件
1 | allow_url_include = off |
设定上传目录
1 | upload_tmp_dir = /tmp |
指定用户可访问文件路径
1 | open_basedir = ./:/tmp:/home/wwwroot/ |
关闭注册全局变量
1 | register_globals = Off |
不持久化存储 cookie 数据
1 | session.cookie_lifetime=0 |
用cookie保存sesion id
1 | session.use_cookies=On |
禁止 JavaScript 访问会话 cookie
1 | session.cookie_httponly=On |
防止会话模块使用未初始化的会话 ID
1 | session.use_strict_mode=On |
禁用透明会话 ID
1 | session.use_trans_sid=Off |
不缓存会话内容
1 | session.cache_limiter=nocache |
末尾
上面是我收集到的php.ini的常见的安全参数设置,有一些已经的高版本的PHP中默认已经关闭掉了。如果还有更多的参数设置,欢迎留言一起讨论学习。