专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
PHP
当前位置:首页 > 技术文档 > PHP >  > 
php未初始化变量漏洞

<?php

if(!empty($_GET))
{
//这里模拟数据库操作
if($_REQUEST['user']=='user' && $_REQUEST['pwd']=='123'){
//登陆成功
$userlogin=1;
}

//输出结果
if($userlogin==1)
{
    echo "登陆成功";
}

exit();
}
?>
<html>
<form action="" method="get">
userName:<input name="user" /><br/>
userPwd:<input name="pwd"><br/>
<input type="submit" value="login..">
 
</form>
</html>
<!-- 
1,
test.php?user=user&pwd=123 登陆成功
2,
test.php?userlogin=1   登陆成功

总结:这个问题是在 php.ini 文件
1,变量未初始化
2,register_globals = On 时测试效果
开启 register_globals = On 会带来许多安全问题,建议设置为 Off
但现在99%的虚拟主机是开启的。
解决方法只有注意变量初始化了。



 -->