当前位置:首页> PHP教程> php进阶
关键字
文章内容
基于HTTP验证
 
 
修改时间:[2011/08/16 18:58]    阅读次数:[1641]    发表者:[起缘]
 
基于HTTP验证当PHP以CGI模式运行时不能实现。我们可以使用函数header()发送HTTP标头强制验证,客户端浏览器则弹出供输入用户名和密码的对话框。这两个变量被储存在$PHP_AUTH_USER和$PHP_AUTH_PW中,你可以使用这两个变量验证合法并允许进入。以下的例子通过用户名称/密码对为tnc/nature的验证一名用户的登录:
<? 
if(!isset(
$PHP_AUTH_USER)) 

Header("WWW-Authenticate: Basic realm="My Realm""); 
Header("HTTP/1.0 401 Unauthorized"); 
echo 
"Text to send if user hits Cancel buttonn"
exit; 

else 

if ( !(
$PHP_AUTH_USER=="tnc" && $PHP_AUTH_PW=="nature") ) 

// 如果是错误的用户名称/密码对,强制再验证 
Header("WWW-Authenticate: Basic realm="My Realm""); 
Header("HTTP/1.0 401 Unauthorized"); 
echo 
"ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid."
exit; 

else 

echo 
"Welcome tnc!"

?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)
事实上再实际引用中不大可能如上面使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件存取它们。