尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
PHP代码审计基础——超全局变量(三)
本专栏将从 PHP 最基础的知识点 开始循序渐进地讲解代码审计中必须掌握的内容包括超全局变量、危险函数、文件操作、反序列化、魔术方法等核心知识为后续学习漏洞原理和源码审计打下坚实基础。文章目录什么是PHP超全局变量第一个变量 $GLOBALS第二个变量 $_SERVER第三个参数 $_REQUEST第四个变量 $_GET 和 $_POST总结大家感兴趣的可以看往期的文章PHP代码审计基础——Cookie详细讲解一PHP代码审计基础—Session详细讲解二什么是PHP超全局变量PHP 预定义了多个超全局变量Superglobals它们可以在脚本的任意作用域中直接访问包括函数和类的方法内部无需使用global关键字进行声明。PHP 常用的超全局变量包括$GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION这些变量主要用于获取请求数据、服务器环境信息、Cookie、Session、文件上传数据等是 PHP 开发和代码审计过程中最常接触、也是最重要的数据来源。第一个变量 $GLOBALS作用$GLOBALS可以在整个 PHP 脚本的任意作用域中访问包括函数和类的方法内部。它本质上是一个数组用于保存当前脚本中定义的所有全局变量其中数组的键Key就是变量名数组的值Value就是对应变量的值。通过访问$GLOBALS[变量名]可以在局部作用域中直接读取或修改全局变量而无需使用global关键字。下面通过一个简单的示例来了解$GLOBALS的基本用法?php$x10;$y23;functionaddition(){$GLOBALS[z]$GLOBALS[x]$GLOBALS[y];}addition();echo$z;?# 最终结果 33以上实例中 z 是⼀个$GLOBALS数组中的超级全局变量该变量同样可以在函数外访问。第二个变量 $_SERVER作用$_SERVER用于保存服务器环境和当前请求的相关信息例如请求头Header、请求路径、脚本路径、请求方法、客户端 IP、服务器信息等。需要注意的是$_SERVER中的内容由Web 服务器自动生成不同的服务器或运行环境提供的字段可能存在差异因此并不能保证所有键都一定存在。# 简单给大家展示一下结果?phpechopre;print_r($_SERVER);echo/pre;可以看到该函数所包含的值都是一些我们感兴趣的值?phpecho$_SERVER[PHP_SELF];echobr;echo$_SERVER[SERVER_NAME];echobr;echo$_SERVER[HTTP_HOST];echobr;echo$_SERVER[HTTP_REFERER];echobr;echo$_SERVER[HTTP_USER_AGENT];echobr;echo$_SERVER[SCRIPT_NAME];?得到结果如下除了上述几个常用参数外$_SERVER还包含了大量服务器环境和请求相关的信息例如REQUEST_METHOD、REQUEST_URI、REMOTE_ADDR、SERVER_PORT、DOCUMENT_ROOT等。由于不同 Web 服务器提供的字段可能存在差异这里不再一一列举建议直接查阅 PHP 官方文档其中对每个参数都进行了详细说明。PHP 官方文档$_SERVERhttps://www.php.net/manual/zh/reserved.variables.server.php如果想了解PHP 所有预定义变量Superglobals可以参考 https://www.php.net/manual/zh/reserved.variables.php第三个参数 $_REQUEST作用$_REQUEST用于获取客户端提交的数据。它默认包含$_GET、$_POST和$_COOKIE中的数据具体取决于 PHP 配置。当用户提交表单后可以通过$_REQUEST[参数名]获取对应的参数值无需关心数据是通过GET还是POST方式提交。下面通过一个简单的示例来了解$_REQUEST的基本用法htmlbodyform methodpostaction?php echo$_SERVER[PHP_SELF]; ?Name:input typetextnamefnameinput typesubmit/form?php$name$_REQUEST[fname];echo$name;?/body/html该示例实现了一个简单的PHP 表单提交通过$_REQUEST获取用户输入的数据并输出到页面。页面加载 → 用户输入内容 → 点击 Submit → POST 提交 → $_REQUEST[fname] → echo 输出页面注意 在实际开发和代码审计中一般不推荐使用$_REQUEST因为它会同时接收GET、POST和COOKIE数据容易造成参数来源不明确通常建议根据业务场景使用 $_GET 或 $_POST这样代码更加安全、可读性也更高。第四个变量 $_GET 和 $_POST$_GET用于获取URL 查询字符串中提交的参数常用于搜索、分页、详情页等通过 URL 传递数据的场景。$_POST用于获取HTTP POST 请求体中提交的数据常用于登录、注册、表单提交、文件上传等需要提交数据的场景。?php// 获取 URL 中 GET 请求的 id 参数例如test.php?id1$id$_GET[id];echo$id;// 获取 POST 请求中的 u 参数例如uadmin$u$_POST[u];echo$u;// 获取 REQUEST 中的 cmd 参数可能来自 GET、POST 或 COOKIE// 并输出为cmdxxxechocmd.$_REQUEST[cmd];?1GET传参效果如下2POST传参效果如下修改GET改为POST添加Content-Type:参数效果如下REQUEST的作用获取 cmd 参数可能来自 GET、POST 或 COOKIE总结本文介绍了 PHP 中常用的超全局变量包括$_GLOBALS、$_SERVER、$_REQUEST、$_GET和$_POST的基本作用及使用方式并结合代码示例和 Burp Suite 抓包演示帮助大家理解不同变量的数据来源及应用场景。超全局变量是 PHP 代码审计中最基础、也是最重要的知识点之一。只有熟悉数据的传递过程才能更好地分析程序逻辑为后续学习 SQL 注入、文件包含、命令执行、文件上传等漏洞的代码审计打下基础。
RELATED

相关推荐

电容失效分析

电容失效分析

陶瓷电容失效分析:多层片状陶介电容器由陶瓷介质、端电极、金属电极三种材料构成,失效形式为金属电极和陶介之间层错,电气表现为受外力(如轻轻弯曲板子或用烙铁头碰一下)和温度冲击(如烙铁焊接)…

📅 2026/10/8 23:29:46
AI龙虾智能体排名

AI龙虾智能体排名

当大家都在讨论AI工具如何改变外贸和企业办公时,一个现实问题摆在了面前:市面上的AI产品琳琅满目,真正能用得顺手、数据安全、成本可控的又有几个?最近,很多外贸老板和企业负责人都在关注一个话题——龙虾智能体的本地…

📅 2026/10/10 5:45:05
深入理解Linux多线程互斥锁:从临界区到底层原子指令的完整闭环

深入理解Linux多线程互斥锁:从临界区到底层原子指令的完整闭环

一、为什么需要互斥锁:多线程数据竞争的本质在多线程编程中,线程之间共享进程的地址空间,这意味着全局变量、堆内存等资源对所有线程都是可见的。这种共享机制带来了便利,但也埋下了一个致命的隐患 ——数据竞争。想象一个经典的抢…

📅 2026/10/15 20:58:24
MORE NEWS

更多资讯

📰

电工证丢了 异地好办电子证书怎么搞

电工证丢了 异地好办电子证书怎么搞 实操考试心里没底怕挂科,尤其是证书丢了之后,异地办理又怕流程复杂,耽误工作进度。很多人觉得证书丢了就完蛋了,其实现在有了电子证书,很多流程都可以在线上搞定,但前提是你要知道怎么操作。今天就从三门峡一家劳务…

📰

220伏电工证怎么考?郑州报考避坑指南:实操考试心里没底怕挂科怎么办

220伏电工证怎么考?郑州报考避坑指南:实操考试心里没底怕挂科怎么办 你是不是也担心自己220伏电工证考试会挂科?别急,今天就把郑州本地人的真实经验告诉你,让你避开那些报考路上的坑。 220伏电工证到底是什么?…

📰

湘乡哪里考电工证值不值得考?别交了冤枉钱

湘乡哪里考电工证值不值得考?别交了冤枉钱 怕考不过白交培训费,这是很多想考电工证的湘乡朋友心里最怕的事。特别是那些已经在工地、工厂工作多年的工人,想提升一下自己的技能,考个证拿点补贴,结果培训费交了,考试一没过,就白费了。那湘乡哪里考电工证…

📰

低学历也能报宿安特种作业操作证?含金量你得知道

低学历也能报宿安特种作业操作证?含金量你得知道 学历不高怕报不上名?很多人觉得只有高学历才能考取特种作业操作证,其实不是。像 宿安特种作业操作证 ,只要符合条件,低学历也能报考,关键是它的 含金量…

📰

宿安特种作业操作证2026河南最新政策下怎么快速拿证上岗

宿安特种作业操作证2026河南最新政策下怎么快速拿证上岗 你是不是也遇到过这种情况:好不容易找到一份工作,结果被告知必须有 宿安特种作业操作证 才能上岗?别急,2026年河南最新政策已经出来了,咱们得趁早了解清楚,不然真可能错失机会。…

📰

几年才能考高级电工证证丢了怎么补办

你学历不高也能考高级电工证?考前押题帮你少走弯路 你学历不高怕报不上名?别急,考高级电工证其实没有你想象的那么难,关键是你怎么准备。特别是像你这样刚毕业的商丘工程类学生,虽然学历可能不占优势,但只要抓住考试重点、做好考前押题,一样可以顺利拿…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬