关于PHP的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 01:46:22
如果说一个页面的网址是http://localhost/123.php?ght=***
那么123.php页面中就有了变量$ght吗?
因为我在分析的一个系统中就有这样一个页面de.php,它包含了456.php与abc.php,在456.php中定义了比如http://localhost/123.php?ght=1或者http://localhost/123.php?ght=2或者http://localhost/123.php?ght=3,等等。。而abc.php就是因变量$ght的不同显示不同的页面。
可是我觉得de.php中不应该有句$ght=$_GET[ght];吗?

php.ini中有个配置
register_global = Off

当这个值为off的时候,需要$ght = $_GET[ght]
当这个值为of的时候,则php系统自动把所有的$_GET赋值给对应的变量。

老的php版本为了方便,register_global默认是on,但是这是一个安全问题。
例如你页面中有比较重要的一个变量$adminname是管理员用户名,而用户直接在地址栏写一个adminname=admin,这样就破解了你的系统。
所以现在的php都把这个register_global默认为off。而且据说未来的php6会抛弃这个功能。