这几天被php安全搞得有些头大,简单罗列了一下应该注意的事项如下:
1.尽量的隐藏php脚本文件名称,使用包含的技巧
2.关闭全局变量
3.使用安全模式的php,关闭远程调用
4.关闭php的错误输出,并且记录error日志
5.url变量和表单提交变量的校验
6.尽量压缩guest用户的操作权限,如html编码,文件上传等
7.html上传的使用htmlentities编码
8.文件上传的校验
9.特殊页面的来源url限制保护,如表单提交,控制远程提交
10.定义变量的include文件使用特殊的php后缀名称或目录,或者,定义专门的include目录不可通过url路径访问
11.某些时候可以在webserver中定义全局变量而不在脚本中,如用户名SetEnv sqluser "abc",在php中调用$_SERVER["sqluser"]
12.所有sql语句中,不论什么类型的数据都用单引号包含起来
13.使用mysql_escape_string转义数据
14.session判断,如果session不存在则重新生成新的session标识
php安全指南中文版
http://www.i-fang.com/php/php-security-guide-cn/index.html
英文版
http://phpsec.org/projects/guide/