php 实例-浏览器中显示密码提示框
本文介绍下,
php 使用 WWW-Authenticate 验证方式,在浏览器中显示密码提示框的例子,
有需要的朋友参考下吧。
1,php 代码
<?php
/**
* 浏览器 显示密码提示框
*/
if (($_SERVER['PHP_AUTH_USER'] != 'specialuser') ||
($_SERVER['PHP_AUTH_PW'] != 'secretpassword')) {
header('WWW-Authenticate: Basic Realm="Secret
Stash"');
header('HTTP/1.0 401 Unauthorized');
print('You must provide the proper credentials!');
exit;
}
?>
2,打开浏览器密码对话框和认证用户基于数据库
<?php
function authenticate_user() {
header('WWW-Authenticate: Basic realm="Secret Stash"');
header("HTTP/1.0 401 Unauthorized");
exit;
}
if(! isset($_SERVER['PHP_AUTH_USER'])) {
authenticate_user();
} else {
mysql_connect("localhost","authenticator","secret") or
die("连接数据库服务器失败!");
mysql_select_db("gilmorebook") or die("未能连接验证数据库。");
$query = "SELECT username, pswd FROM user WHERE
username='$_SERVER[PHP_AUTH_USER]'
AND pswd=MD5('$_SERVER[PHP_AUTH_PW]')
AND
ipAddress='$_SERVER[REMOTE_ADDR]'";
$result = mysql_query($query);
if (mysql_num_rows($result) == 0)
authenticate_user();
mysql_close();
}