我有一个 php 页面,其中有以下代码使用 HTTP 身份验证来验证用户,此代码适用于 http://
url,但是当我将同一页面与 https://
然后它不要求用户名和密码。
//authentication settings
define('USERNAME', 'prashant');
define('PASSWORD', 'password');
//Validating
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Authentication required"');
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized access';
exit;
}else{
if($_SERVER['PHP_AUTH_USER'] != USERNAME && $_SERVER['PHP_AUTH_PW'] != PASSWORD){
header('WWW-Authenticate: Basic realm="Authentication required"');
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized access';
exit;
}
}
有什么问题,我该如何解决?
谢谢
最佳答案
What's the problem and how I can resolve this?
由于对这个问题的评论已经解决,这是由浏览器缓存您的域的 HTTP 身份验证详细信息引起的。使用 HTTPS 关闭然后重新打开浏览器可解决问题。
关于PHP:SSL HTTP 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3255234/