• 基于HTTP验证详解
    时间:2009-08-24   作者:佚名   出处:互联网

    基于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!"

    ?>

    事实上再实际引用中不大可能如上面使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件存取它们。

    网友留言/评论

    我要留言/评论