eju*_*ker 11 php register-globals
我继承了一些遗留的PHP代码,这些代码是在标准实践中使用时所写的register_globals(从PHP 4.2.0起,该指令默认为off,2002年4月22日发布).
我们现在知道,启用它对安全性有害.问题是如何在代码中找到我需要使用的所有位置$_GET或$_POST?我唯一的想法是设置错误报告以警告未初始化的变量,然后测试站点的每个部分.有没有更简单的方法?我是否必须测试站点中的每个代码路径,或者PHP会在文件的基础上发出警告吗?
如果您将错误报告设置为E_ALL,它会在错误日志中警告未完成的变量以及文件名和行号(假设您正在登录文件).但是,它只会在遇到未定义的变量时发出警告,因此我认为您必须测试每个代码路径.从命令行运行php似乎也没有帮助.
有一个名为xdebug的调试工具,还没有尝试过,但也许这可能有用吗?