下一篇 » « 上一篇

用session代替apache服务器验证

作者:爱好者    时间:2008-01-22    来源:php之家    点击:36194    本文共1篇文章 字体:[ ]

用session代替apache服务器验证

对于需要身份验证的页面,使用apache服务器验证是最好不过的了。
不过,apache服务器验证的界面不够友好。而且,并不是所有的情况
都可以使用apache服务器验证,比如cgi模式的php,iis下的php。

  php学习之家

用session可以在不同页面间保存用户身份,比如 www.444p.com


login.php

<?
if ($name=="" && $pass=="")
{
?> www.444p.com php学习之家

<form action="login.php">
user:<input type="text" name="name"><br>
pass:<input type="text" name="pass"><br>
<input type="submit" value="ok">
</form>

www.444p.com

<?
}
else
{
if($name!="uuu" || $pass!="ppp")
{
echo "login fail!";
}
else
{
session_register("user");
session_register("passwd");
$user=$name;
$passwd=$pass;
echo "OK!<br><a href="next.php">next page</a>";
}
} www.444p.com php学习之家

?> www.444p.com版权所有


next.php

php学习之家

<?
session_start();
echo "username:$user";
?>
php学习之家http://www.444p.com

但是,用户可以使用http://domain.name.com/next.php?user=uuu
来绕过身份验证。 www.444p.com

所以,实际的next.php必须是这样:
<?
session_start();
if (!session_is_registered("user"))
{
echo "login fail";
}
else
{
echo "username:$user";
}
?> php学习之家

使用session_is_registered()来检测session变量,
这样,用session已经基本实现对身份的可靠验证。

php学习之家http://www.444p.com

发表评论
密码: (游客不需要密码)
记住我【Alt+S 或 Ctrl+Enter 快速提交】

搜索工具


《PHP精通》点击排行