灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3690回复:0

[系统教程]PHP新手入门(2)

楼主#
更多 发布于:2012-09-12 05:29

6. 密码验证

  也许你想在自己的网站放上你的照片集,而且只想给自己知心的朋友看,这时你需要一个密码验证的程序。

6.1 基于HTTP验证

  如何用php来实现密码验证的功能呢?我们可以使用简短的php代码,使用函数header()发送HTTP标头强制验证,客户端浏览器则弹出供输入用户名和密码的对话框。在php中,客户端用户输入的信息传送到服务端之后自动保存在$php_AUTH_USER, $php_AUTH_PW, 以及 $php_AUTH_TYPE这三个全局变量中。利用这些变量,我们就可以根据实现保存在数据文件或数据库中的用户帐号信息验证用户身份。

  不过在这里需要提醒使用者注意的一点是:只有在Apache模块方式运行的时候,php脚本才能使用$php_AUTH_USER, $php_AUTH_PW, 以及 $php_AUTH_TYPE这三个变量。如果用户使用的是CGI模式的php则无法实现基于HTTP的验证功能。

6.2 下面,我们就来详细介绍一下如何使用php对用户身份进行验证。

  在下例中,我们是使用$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!";
}
?>

喜欢0 评分0
游客

返回顶部