PHP5.4中删除的安全函数

前几天配置PHP5.4的时候发现PHP新版已经在一些安全函数方面进行了增改,从php自身防止一些不必要的漏洞,因此开发人员在写代码时也需要注意版本的兼容。下面讲几个涉及安全方面的函数进行说明。
1、safe_mode
状态:已删除
描述:此函数主要限制系统相关的文件打开、命令执行等函数(具体影响函数见参考1)。当然现在也有bypasss safe_mode的方法(见参考2),通过com接口来绕过。
解决办法:可以通过配置php.ini中的disable_functions函数列表进行限制指定函数。

创新互联建站云计算的互联网服务提供商,拥有超过13年的服务器租用、温江服务器托管、云服务器、网页空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、网页空间、空间域名、VPS主机、云服务器、香港云服务器、免备案服务器等。

2、magic_quotes_gpc
状态:已删除 (magic_quotes_runtime、magic_quotes_sybase 删除)
描述:此函数在PHP <= 4.2.3默认开,会自动对GPC (Get/Post/Cookie)提交的值中的’, “, 和空格进行转义,PHP5.4中get_magic_quotes_gpc()默认返回false。
解决办法:基本上还是不受影响,先检测状态,然后采用MySQL_real_escape_string进行转义处理。

3、register_globals
状态:已删除
描述:此函数虽然从PHP>>4.2开始默认由on改为off,但是如果程序员开启的话会导致变量覆盖等安全问题,特别是结合文件包含漏洞等。
解决办法:可以结合前面sablog源码中的函数进行改写(采用extract函数).

4、session_register
状态:已删除(session_unregister()、session_is_registered 删除)
描述:采用session认证的时候可以用该函数注册session变量。
解决办法:采用$_SESSION数组进行注册变量。

参考:
http://hi.baidu.com/zhangguanshi/blog/item/0a5bf51771a54e42f3de32d1.html
http://luoq.net/PHP-COM-functions/
http://php.net/releases/5_4_0.php


分享文章:PHP5.4中删除的安全函数
分享路径:http://azwzsj.com/article/pipgjd.html