php – 邪恶是$_REQUEST,什么是可接受的援助对策?

前端之家收集整理的这篇文章主要介绍了php – 邪恶是$_REQUEST,什么是可接受的援助对策?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近遇到了几个流行的 PHP相关答案,建议使用超全局$_REQUEST,我认为是代码气味,因为它让我想起了register_globals.

你能提供一个很好的解释/证据,为什么$_REQUEST是不好的做法?我会抛出我挖掘的几个例子,并且会更多地了解理论攻击向量和现实世界漏洞的信息/观点,以及系统管理员可以采取的合理步骤来降低风险的建议(缺少重写应用程序…或者,我们需要去管理并坚持重写吗?

示例漏洞:默认GPC阵列merge-order意味着COOKIE值覆盖GET和POST,因此$_REQUEST可用于XSS和HTTP攻击. PHP允许cookie vars覆盖超全局数组. this talk的前10张幻灯片给了例子(整个演讲很棒). phpMyAdmin exploit CSRF攻击示例.

示例对策:将GPC中的$_REQUEST数组合并顺序重新配置为CGP,以便GET / POST覆盖COOKIE,而不是相反.使用Suhosin阻止超级页面的覆盖.

(另外,不要问我是否认为我的问题是一个欺骗,但是很高兴地,“When and why should $_REQUEST be used instead of $_GET / $_POST / $_COOKIE?”的绝对的答案是“从不”.)

只要看待它:一种从用户那里获取数据的方法.它必须被消毒和验证,所以你为什么要关心它是以POST,GET或cookie形式出现的?他们都来自用户,所以说’他们可以欺骗!是多余的

猜你在找的PHP相关文章