代码打击用于页面的authenticatin(它是整页的片段,但主要想法在这里):
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header("WWW-Authenticate: Basic realm=\"MX Administration\"");
header("HTTP/1.0 401 Unauthorized");
exit;
}
else {
session_start();
if( $_SERVER['PHP_AUTH_USER'] == $login && md5($_SERVER['PHP_AUTH_PW'] ) == $password ){
if( $_SESSION['adm'] == '' && empty($_POST) ){
header("Location: whmcs.php");
exit;
}
elseif( $_SESSION['adm'] == '' && !empty($_POST) ){
if( $_POST['login'] == $login_in && md5($_POST['password']) == $password_in ){
$_SESSION['adm']="OK";
}
else{
header("Location: whmcs.php?do=message");
exit;
}
}
else{
$_SESSION['adm']="OK";
}
}
else{
header("WWW-Authenticate: Basic realm=\"MX Administration\"");
header("HTTP/1.0 401 Unauthorized");
echo ":)\n";
exit;
}
}
?>
现在,当我将此代码转移到另一台服务器时,它不会进行身份验证,它总是要求输入用户名和密码。我猜这是因为php版本,php配置。你认为可能是什么原因。 (我确信我正在写正确的用户名和密码。)
答案 0 :(得分:0)
最有可能的原因是用于运行PHP脚本的CGI API 您必须将API更改为mod_php或更改主机或将HTTP身份验证更改为会话