由于主机更改,无法进行PHP身份验证


PHP authentication can not be done because of changing hosting

代码破解用于对一个页面进行身份验证(它是整个页面的片段,但主要思想在这里):

 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配置。你认为什么可能是原因。(我确信我写的是正确的用户名和密码。)

最有可能的原因是用于运行PHP脚本的CGI API
您必须将API更改为mod_php,或者更改主机或将HTTP身份验证更改为会话