PHP$\u未声明

PHP$\u未声明,php,Php,在我的工作场所,我们使用存储在远程服务器上的一段代码来进行Clickbank搜索。现在我的老板决定把所有的东西都转移到我们的服务器上,并让lucky(呵呵)帮我做这件事 现在,我一直认为$\u GET变量需要在本地范围内声明:$var=$\u GET['var'];但在这段代码中,似乎原来的程序员刚刚插入了这行代码,他在代码中使用$var而没有声明它。。。这怎么可能呢?听起来好像register globals已经打开了。Register globals在本地作用域所有请求变量,因此这是可能的。

在我的工作场所,我们使用存储在远程服务器上的一段代码来进行Clickbank搜索。现在我的老板决定把所有的东西都转移到我们的服务器上,并让lucky(呵呵)帮我做这件事


现在,我一直认为$\u GET变量需要在本地范围内声明:$var=$\u GET['var'];但在这段代码中,似乎原来的程序员刚刚插入了这行代码,他在代码中使用$var而没有声明它。。。这怎么可能呢?

听起来好像register globals已经打开了。Register globals在本地作用域所有请求变量,因此这是可能的。这也是一个非常不安全的特性,从5.3版开始,PHP就不推荐使用它

我强烈建议关闭register_globals并手动声明局部范围的变量,这样您就可以正确地处理传入数据的清理和过滤


关于register_globals以及为什么这是一个坏主意的更多信息,请参见官方PHP文档:

听起来register globals已经打开了。Register globals在本地作用域所有请求变量,因此这是可能的。这也是一个非常不安全的特性,从5.3版开始,PHP就不推荐使用它

我强烈建议关闭register_globals并手动声明局部范围的变量,这样您就可以正确地处理传入数据的清理和过滤


关于register\u globals的更多信息以及为什么在官方PHP文档中这是一个坏主意:

这可能是因为PHP设置了
register\u globals

这意味着,
$\u GET['foo']
在代码中自动作为
$foo
可用

更多信息请参见此处:

基本上,这是一个非常大的安全漏洞,应该避免


此外,它从5.3开始就被弃用,并将在5.4中删除。

这可能是因为设置了php设置
register\u globals

这意味着,
$\u GET['foo']
在代码中自动作为
$foo
可用

更多信息请参见此处:

基本上,这是一个非常大的安全漏洞,应该避免


此外,它从5.3开始就被弃用,并将在5.4中删除。

您可以在这个链接中找到您的答案+关于register\u globals的简短而甜蜜的定义


你可以在这个链接中找到你的答案+一个关于register\u globals的简短而甜蜜的定义

啊。。。。你真幸运。我同情你:)啊。。。。你真幸运。我很同情你:)“非常大”,如果有的话,低估了问题的规模。“非常大”,如果有的话,低估了问题的规模。