用session代替apache服务器验证

作者:未知 来源:未知 添加时间:2006年7月2日 字体:

对于需要身份验证的页面,使用apache服务器验证是最好不过的了。 

不过,apache服务器验证的界面不够友好。而且,并不是所有的情况 

都可以使用apache服务器验证,比如CGI模式的PHP,iis下的php。 



用session可以在不同页面间保存用户身份,比如 





login.php 



<? 

if ($name=="" && $pass=="") 



?> 



<form action="login.php"> 

user:<input type="text" name="name"><br> 

pass:<input type="text" name="pass"><br> 

<input type="submit" &#118alue="ok"> 

</form> 



<? 



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>"; 







?> 





next.php 



<? 

session_start(); 

echo "username:$user"; 

?> 





但是,用户可以使用http://domain.name.com/next.php?user=uuu ;

来绕过身份验证。 



所以,实际的next.php必须是这样: 

<? 

session_start(); 

if (!session_is_registered("user")) 



echo "login fail"; 



else 



echo "username:$user"; 



?> 



使用session_is_registered()来检测session变量, 

这样,用session已经基本实现对身份的可靠验证。

ppdesk