十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前几天配置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