php可以自动的注册用户提交的数据为全局变量,自动注册全局变量存在严重安全隐患,从用户那里注册的变量,有可能把php中的变量覆盖,为了消除这种隐患,可以直接把php.ini中的register_globals 设为off,并使用内在的track 变量:
$HTTP_POST_VARS 所有变量的相关数组,通过POST方法传送给用户。
$HTTP_GET_VARS 所有变量的相关数组,通过GET方法传送给用户。
$HTTP_COOKI_VARS 所有cookie组成的相关数组,传给当前的程序。
$HTTP_POST_FILES 使用PHP文件上载特性传送文件信息的相关数组。
$HTTP_ENV_VARS 所有环境变量的相关数组。
$HTTP_SERVER_VARS 服务器传给php中所有变量的相关数组。
$HTTP_SESSION_VARS 所有当前会话变量的相关数组。
上述精简格式为:
$_POST
$_GET
$_COOKIE
$_ENV
$_SERVER
在所有的环境中(函数或全局范围内),它们都是有效的。另,
$_REQUEST数组包含了$_GET,$_POST,和$_COOKIE中所有的变量。
本文探讨了PHP中自动注册全局变量的安全隐患及其解决方法,介绍了如何通过设置php.ini来禁用此功能,并列举了几种替代的超全局变量,如$_POST、$_GET等。
492

被折叠的 条评论
为什么被折叠?



