我不确定这是否会被标记为社区 wiki,但无论如何:
有没有一种简单的方法可以杀死 register_globals?我正在开发一个 PHP 框架,现在,我只是将脚本设置为在 register_globals 为 On 时终止。虽然我更喜欢强迫人们禁用它,但有些服务器仍然有它。
我知道在 PHP 5.3.0 中 register_globals 已被弃用,在 PHP 6 中它将被完全删除,但在它仍然存在时处理它总是一件好事。
我看到了一些方法,我目前正在考虑使用这个:
$temp = array_merge($_GET, $_POST, $_COOKIE); foreach($temp as $k => $v) { 如果(isset($$k))未设置($$k); }
不过这里有一些问题。这是资源激励,特别是当有大量输入数据时。我不确定在运行时禁用它是否会起作用,例如:
ini_set('register_globals', 'Off')
有没有我没听说过的更好的方法来摆脱 register_globals?谢谢。