PHP程序漏洞防范方法和产生的原因
滥用include 1.漏洞原因: Include是编写PHP网站中最常用的函数,并且支持相对路径。有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路径泄露等漏洞。看以下代码: ... 很明显,我们只需要提交不同的Includepage变量就可以获得想要的页面。如果提交一个不存在的页面,就可以使PHP脚本发生错误而泄露实际绝对路径(这个问题的解决办法在下面的文章有说明)。 2.漏洞解决: 这个漏洞的解决很简单,就是先判断页面是否存在再进行Include。或者更严格地,使用数组对可Include的文件作出规定。看以下代码: $pagelist=array("test1.php","test2.php","test3.php"); //这里规定可进行include的文件 这样就可以很好地解决问题了。 小提示:有此问题的函数还有:require(),require_once(),include_once(),readfile()等,在编写的时候也要注意。 未对输入变量进行过滤
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |