PHP 的 HTTP 认证机制

PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本。在 Apache 模块的 PHP 脚本中,可以用 header()函数来向客户端浏览器发送"Authentication Required"信息,使其弹出一个用户名/密码输入窗口。当用户输入用户名和密码后,包含有 URL 的 PHP 脚本将会加上预定义变量PHP_AUTH_USERPHP_AUTH_PWAUTH_TYPE被再次调用,这三个变量分别被设定为用户名,密码和认证类型。预定义变量保存在 $_SERVER 或者 $HTTP_SERVER_VARS 数组中。支持"Basic"和"Digest"(自 PHP 5.1.0 起)认证方法。请参阅 header() 函数以获取更多信息。

eg:

 1 $_SERVER['PHP_AUTH_USER'] = "test";
 2 $_SERVER['PHP_AUTH_PW'] = "123456";
 3 //*********************************
 4 //用户账号
 5 $login = 'test'; 
 6 $pass = '1234567'; 
 7 //*********************************
 8 
 9 if(($_SERVER['PHP_AUTH_PW']!= $pass || $_SERVER['PHP_AUTH_USER'] != $login)|| !$_SERVER['PHP_AUTH_USER'])
10  { 
11     header('WWW-Authenticate: Basic realm="Test auth"'); 
12     header('HTTP/1.0 401 Unauthorized'); 
13     echo 'Auth failed'; 
14     exit; 
15 } else{
16     echo "Auth success";
17 }
具体业务具体对待.....
原文地址:https://www.cnblogs.com/boundless-sky/p/6625630.html