Loading... ## 引言 `register_globals`是PHP中的一个配置选项,用于控制全局变量的自动注册。 当`register_globals`启用时,PHP会将通过`GET`、`POST`和`COOKIE`请求传递的参数自动注册为全局变量,使得这些参数可以直接在脚本中使用,而无需使用超全局数组。 意味着,如果是攻击者传入`POST`变量或者地址栏直接输入参数,可以轻易覆盖你的任何默认变量名,就很危险! ### 范围 在`PHP 5.3`之前,register_globals默认开启; 从`PHP 5.3`开始,该选项被废弃,并在`PHP 5.4`及更高版本中被完全移除 我目前在使用的`PHP 5.4.45`和`PHP 7.2.9`已经完全没有这个选项了。 ### 方式一:从配置文件关闭配置 `register_globals`可以在php.ini文件中设置 其配置范围包括`PHP_INI_USER`、`PHP_INI_PERDIR`、`PHP_INI_SYSTEM`和`PHP_INI_ALL` 设置`register_globals = off` ### 方式二:从代码里检测关闭 ```php if (ini_get('register_globals') == true) die("禁止开启选项"); ``` 欢迎关注拓行公众号,分享各种技术博客文章拓行——奋勇进取,开拓未来,砥砺前行 最后修改:2025 年 02 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~