基于各种各样的理由,PHP 的设置需要依赖于 register_globals 参数打开,但是也成为安全的重要隐患,请看下面的一段代码:<?if (authenticate_user()) {$authenticated = true;}...?>
远程用户可以简单的传递 'authenticated' 作为表单变量,即使authenticate_user() 函数返回 false,$authenticated 还是会设置成 true。这是一个简单的例子,你或许会说,我的程序不会这样来写。而实际上,在稍微复杂一些的应用里面,这个机制就会成为重大的漏洞。
因此,新版本的 PHP ,我们建议用户不要采用这个变量来控制应用,虽然我们没有打算要在不久的将来删除。为了帮助用户建立 register_globals 设置为 off 的应用,增加了一些变量来代...