返回介绍

8.1.1 不受 GPC 保护的$_SERVER 变量

发布于 2024-10-11 22:07:45 字数 624 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文