发新话题
打印

$HTTP_POST_VARS[]等变量函数是否可以省略

$HTTP_POST_VARS[]等变量函数是否可以省略

问一个很菜的问题,好像有些参考书中在应用传递过来的变量时没有用$HTTP_POST_VARS[]和$HTTP_GET_VARS[]等函数,而是直接当作普通变量$xx来用,是不是可以在哪里设置的?

TOP

以前的旧版PHP不是用$HTTP_*_VARS["abc"]的,而是直接使用$abc。但在新版PHP中,为了解决一些安全性上的隐患,默认情况下不能直接使用$abc来读取传入的变量,得使用$HTTP_*_VARS[]或是$_*[]系列数组。(*为POST,  GET,  SESSION,  COOKIE)  
是有设置可以改的,在php.ini中,把register_globals设为On就可以了。

TOP

php4.1.x以前,php一直提供一种灵活的处理传递变量的方式,这也是php值得称道的地方,但是出于安全的考虑,目前以不再提倡这种方式了。  
在php.ini中  
register_globals  =  on  //  传递变量可直接引用  
register_globals  =  off  //  传递变量可直接引用  
随着版本的升高register_globals将不再提供,在兼容期间尚需对session和upload变量加以注意,以避免不必要的麻烦

TOP

发新话题