我使用Runcloud作为我的VPS控制面板。 那么我的环境是" NGINX + Apache2 Hybrid"
我使用这些代码在我的localhost上进行身份验证,它可以工作。 但是,当我将其部署(上传)到服务器时,它会失败。 我输入正确的用户名和密码,然后弹出窗口让我再次输入util我点击"取消"按钮并转到失败页面。
我该如何调试(检查输入的用户名密码)?或者我需要向服务器添加设置。
<?php
$protect = true;
if($protect){
$LoginSuccessful = false;
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
$Username = $_SERVER['PHP_AUTH_USER'];
$Password = $_SERVER['PHP_AUTH_PW'];
if ($Username == 'hello' && $Password == 'hello'){
$LoginSuccessful = true;
}
}
if (!$LoginSuccessful){
header('WWW-Authenticate: Basic realm="Secret page"');
header('HTTP/1.0 401 Unauthorized');
print "Login failed!\n";
die();
}
};
?>
<html code>
答案 0 :(得分:0)
您是否添加了一些类似
的配置RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
apache中的(不确定nginx中的等价物) 尝试转储
$ _ SERVER [&#39; PHP_AUTH_USER&#39;]和$ _SERVER [&#39; PHP_AUTH_PW&#39;]并查看它们是否已设置。