先看一段自己写的认证实例
<?php
if (!isset($_SERVER['PHP_AUTH_USER']) or !isset($_SERVER['PHP_AUTH_PW'])){
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
if($_SERVER['PHP_AUTH_USER']!= "1234" and $_SERVER['PHP_AUTH_PW']!="1234"){
exit("您没有权限访问此页面");
}
}
echo "some important infomations";
?>
程序第一行,判断用户名或者密码是否存在,如果不存在,则返回弹出对话框强制要求用户输入用户名和密码。$_SERVER["PHP_AUTH_USER"]和$_SERVER["PHP_AUTH_PW"]是php的预定义变量,当用户在用户名和密码框中输入值后,这两个变量就自动生效,否则,就不存在。
第二行,如果用户没有输入(也就是用户没有点击确定按钮,因为用户名和密码也可以为空,这时候用户不输入直接点确定,上述两个变量也已经存在),则弹出用户名/密码输入框
第三行,说明此http的认证类型
第四行,用户若点击取消而非确定按钮,则给出用户提示信息
第五行,如果没有点确定或者其它错误,则结束程序。
第六行和第七、八行,如果用户输入的用户名和密码不是1234,那么则认为用户名和密码输入错误,提示用户没有访问此页面的权利并结束程序。
第九行及最后几行,如果用户输入正确的用户名和密码,则显示一些需要登陆才可以看到的信息。
此段程序的演示地址:http://www.xuexi365.org/test.php
买票技术贴——终于买到火车票了
陌生手机号,一定要注意

2008-1-19 13:22 | 分类: 

不知算不算BUG
就是我第一次什么都不填,直接点确定,会提示无权访问,然后我关闭,再重新打开这个页面,都是显示那个无权访问,连填的机会都没了