php中有时涉及到操作权限,比如有一些对数据库的操作只希望管理者有权限修改,而普通用户是不能修改的。需要向服务器上传一个要求服务器在浏览器中向用户索要用户名和密码的首部,使用内置 header函数向服务器上传。
<?php
$username = 'rock';
$password = 'roll';
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || ($_SERVER['PHP_AUTH_USER'] != $username) ||
($_SERVER['PHP_AUTH_PW'] != $password)){
header('HTTP/1.1401 Unauthorized');
header('WWW-Authenticate:Basic realm="Guitar Wars"');
exit('<h2>Guitar wars</h2>Sorry,you must enter a username and password to access this page.');
}
?>
<html>
</html>
上述代码即可生成一个浏览器页面,用户必须正确输入用户名和密码之后才能进入页面。
$_SERVER['PHP_AUTH_USER']和$_SERVER['PHP_AUTH_PW']是超级全局变量,获取用户输入的用户名和密码。并判断是否正确。
全部正确会进入页面,有一项错误会一直停留在该输入页面上。如果只想设置密码,在if中只验证密码是否正确即可
注意:首部前不可以有任何字符包括空格。插入在<html>标签之前。