PHP аутентификация не может быть выполнена из-за смены хостинга - PullRequest
0 голосов
/ 19 февраля 2012

Удар кода был использован для аутентификации для страницы (это фрагмент всей страницы, но основная идея здесь):

 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.Что вы думаете, что может привести причину.(Я уверен, что пишу правильное имя пользователя и пароль.)

1 Ответ

0 голосов
/ 19 февраля 2012

Скорее всего, причина в том, что CGI API используется для запуска скриптов PHP.
Вы должны либо изменить API на mod_php, либо изменить хостинг, либо изменить HTTP-аутентификацию на сеансы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...