文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
8.1.1 不受 GPC 保护的$_SERVER 变量
GPC 上面我们已经介绍过,是用来过滤 request 中提交的数据,将特殊字符进行转义来防止攻击,在 PHP5 之后用$_SERVER 取到的 header 字段不受 GPC 影响,所以当 GPC 开启的时候,它里面的特殊字符如单引号也不会被转义掉,另外一点是普通程序员很少会考虑到这些字段被修改。而在 header 注入里面最常见的是 user-agent、referer 以及 client-ip/x-forward-for,因为大多的 Web 应用都会记录访问者的 IP 以及 referer 等信息。同样的$_FILES 变量也一样不受 GPC 保护。
测试代码如下:
<?php echo 'GPC'.get_magic_quotes_gpc (); echo '<br /> client-ip = '.$_SERVER["HTTP_CLIENT_IP"] ; echo '<br />$_GET[a] = '.$_GET['a'] ;
测试截图见图 8-1。
图 8-1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论