博客列表 >HTTP认证

HTTP认证

萝卜温的博客
萝卜温的博客原创
2018年05月29日 16:09:451028浏览
  • PHP通过发送头部进行HTTP认证

代码如下:
<?php
    header('Content-type: text/html; charset=utf8');

    function askAuth ($realm = '请输入认证信息!', $cancelTip = '取消认证!') {
        header('WWW-Authenticate: Basic realm="' . $realm . '"');
        header('HTTP/1.0 401 Unauthorized');
        echo $cancelTip;
        exit;
    }

    $user_info = array(
        array('mr.robot', 'wen1234'),
    );
    if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
        askAuth();
    } else {
        foreach ($user_info as $user) {
            if ($user[0] == $_SERVER['PHP_AUTH_USER'] && $user[1] == $_SERVER['PHP_AUTH_PW'])
                echo '认证通过!';
            else {
                askAuth('认证失败!');
            }
        }
    }
?>
  • 使用Apache服务器的 mod_auth_basic 模块进行HTTP认证

/*****创建 /www/book/.htaccess 文件,访问book目录下面的所有文件都需要认证****/
AuthUserFile D:/.htpasswd
AuthType Basic
AuthName "Authorization Needed"
AuthBasicProvider file
Require valid-user
ErrorDocument 401 D:/software/phpstudy/PHPTutorial/WWW/knowledge/http-authentication/error.html

注:
AuthUserFile 指定了存储用户信息的文件,这个文件使用 "htpasswd -b[c] passwordfile username password" 生成


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议