安全的配置PHP
disable_functions = fopen,popen,file(默认为空,禁用fopen(),popen()和file()三个函数)
disable_classes = "admin,user"(默认为空,禁用admin和user两个类)
display_errors = On(默认为On,PHP向浏览器窗口输出错误信息,这个信息可能被非法利用,建议禁用)
max_execution_time = 30(指定脚本终止前的秒数,0为不限制)
memory_limit = 128M(指定脚本可以使用的最大内存)
open_basedir =(默认为空,创建一个基目录,限制所有文件操作只能在该目录下进行)
user_dir =(默认为空,指定用户的主目录,PHP脚本必须放在主目录中才能执行)
隐藏配置细节
- 隐藏Apache
- 隐藏PHP
将细节追加到服务器签名后面
expose_php = On
修改文档的扩展名
AddType application/x-httpd-php .php .html
删除phpinfo()函数调用的所有实例
disable_functions = phpinfo
隐藏敏感数据
- 隐藏文档根目录
服务器的公共HTML目录路径,此路径可以被用户获取权限时访问,用户无法查看该路径之外的文件,将配置文件放在该路径之外即为隐藏
DocumentRoot "D:Apache24htdocs"
- 拒绝访问某些文件扩展名
假如拒绝访问有扩展名.ico的文件,就需要配置httpd.conf文件的Files指令
<Files *.ico> Order allow,deny Deny from all </Files>
数据加密
- PHP的加密函数
用md5()散列函数加密数据
$xiu = "1314"; echo md5($xiu);//50905d7b2216bfeccb5b41016357176b