php基本安全

复习下PHP安全的基础知识:

1)关闭注册全局变量功能

即是在php.ini中register_globals=off(也是默认)。它决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。 如果register_globals=on, 客户端提交的数据中含有GLOBALS变量名, 就会覆盖服务器上的$GLOBALS变量。

2)在使用变量之前,进行初始化。

3)过滤全部输入数据。

其方式主要取决于数据的类型。

4)防止SQL的注入。

应该使用特定语言的数据库转义函数。如mysql_real_escape_data()。

5)谨慎使用执行命令的函数。

如eval(), exec(), system(), passsthru(), popen(), 反撇号(`)。如果在命令中含有变量,无比进行安全检查。还应该再使用escapeshellarg()和escapeshellcom()进行预处理。

6)谨慎使用变量引用包含文件。

7)session会话安全。可改变其默认目录或利用数据库存储其数据。

8)重命名通过HTTP(浏览器)上传的文件。

9)隐藏站点错误消息,把错误报告级别设置为最高。

10)在显示提交的数据时,过滤其HTML和Javascript(如可用strip_tags()函数)

等等

发表回复

您的电子邮箱地址不会被公开。