热搜:NVER node 开发 php

discuz这段代码如何理解

2024-08-16 18:45:01
discuz这段代码如何理解

这段代码的作用是为了啥
if (isset($_REQUEST['GLOBALS']) OR isset($_FILES['GLOBALS'])) {
exit('Request tainting attempted.');
}


回复讨论(解决方案)

Request tainting attempted 试图请求改变

即传入的参数不能用 GLOBALS 做变量名

Request tainting attempted 试图请求改变

即传入的参数不能用 GLOBALS 做变量名


为啥不让GLOBALS做变量名呢,难道作了会怎么样吗?

那你就要看他的代码了
由于 $GLOBALS 是超全局变量,如果被 extract 覆盖了,就全完了

那你就要看他的代码了
由于 $GLOBALS 是超全局变量,如果被 extract 覆盖了,就全完了



还是木理解,能举一个小粟子吗

$x = 123;$a = array('x' => 'abc');extract($a);echo $x;
abc
$a 被改变了