分享和了解PHPregister_globals值
register_globals的值可以设置为开或关,我们有一个代码来描述他们之间的分歧。代码:
复制代码代码如下所示:
当register_globals =关闭,下一个节目是受_get美元{ 'user_name}和{ } _get美元'user_pass接受价值转移。(注:当方法属性后,你应该使用$ _post { 'user_name}和{ 'user_pass _post美元的})
当register_globals =,下一个程序可以使用user_name美元美元和user_pass直接接受的价值。
顾名思义,register_globals手段登记为一个全局变量,所以当通过,价值直接传递将直接注册为全局变量,同时,我们需要去一个特定的阵列得到的。所以,那些朋友无法获得价值上应首先检查设置你register_globals搭配是否你有价值。(见你可以使用phpinfo()函数或看看php.ini直接)
看看这里有什么问题
请看下面的PHP脚本,它用于在输入用户名和密码正确时授权访问Web页面:
复制代码代码如下所示:
< PHP
检查用户名和密码。
如果($用户名= = 'kevin'and密码= =美元的秘密)
授权=真;
>
请输入您的用户名和密码:
方法
用户名:
密码:
在上面的代码中的问题是,你可以很容易的访问权,而不需要提供正确的用户名和密码,添加授权= 1在浏览器的地址栏中结束。因为PHP会自动创建为每个提交的值的变量--不论是自动提交表单,URL查询字符串或一个cookie,这套1美元的授权,所以未经授权的用户也可以突破安全限制。