Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: HTTP Авторизация
Форумы портала PHP.SU » » Вопросы новичков » HTTP Авторизация

Страниц (1): [1]
 

1. MADONZY - 26 Июня, 2014 - 07:34:55 - перейти к сообщению
Привет всем. Столкнулся с проблемой века)) В интернете искал - нечего не нашел.
Кароче на лок хосте http auth работает, перебрасываю на хост - зацикливается (типа логин или пароль ей не подходит). На всякий случаю кидаю код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.    
  3.     require_once $_SERVER['DOCUMENT_ROOT']."/php/classes/LogException.class.php";
  4.  
  5.     class Auth {
  6.  
  7.         public function __construct() {
  8.  
  9.             $login = "marcin";
  10.             $pass  = "makulski";
  11.  
  12.             session_start();
  13.  
  14.             if(isset($_GET["action"]) && $_GET["action"] == "wyloguj") {
  15.                 $_SESSION = array();
  16.                 if (ini_get("session.use_cookies")) {
  17.                     $params = session_get_cookie_params();
  18.                     setcookie(session_name(), '', time() - 42000,
  19.                         $params["path"], $params["domain"],
  20.                         $params["secure"], $params["httponly"]
  21.                     );
  22.                 }
  23.                 session_destroy();
  24.                 header("Location: /");
  25.                 exit;
  26.             }
  27.  
  28.             if(!isset($_SERVER["PHP_AUTH_USER"]) || !isset($_SERVER["PHP_AUTH_PW"])
  29.             || $_SERVER["PHP_AUTH_USER"] != $login || $_SERVER["PHP_AUTH_PW"] != $pass
  30.             || !isset($_SESSION["login"]) || (isset($_SESSION["login"]) && $_SESSION["login"] != $login)
  31.             || !isset($_SESSION["pass"])  || (isset($_SESSION["pass"]) && $_SESSION["pass"] != $pass)) {
  32.  
  33.                 $_SESSION["login"] = $login;
  34.                 $_SESSION["pass"]  = $pass;
  35.  
  36.                 header("WWW-Authenticate: Basic");
  37.                 header("HTTP/1.1 401 Unauthorised");
  38.                
  39.                 header("Refresh: 7; url=http://".$_SERVER["HTTP_HOST"]);
  40.                 exit(file_get_contents($_SERVER['DOCUMENT_ROOT']."/php/classes/auth/error.php"));
  41.  
  42.             }
  43.  
  44.         }
  45.  
  46.     }
  47.  
  48.  
  49.  
2. esterio - 26 Июня, 2014 - 10:59:15 - перейти к сообщению
иногда (особенно бесплатные хостингы) блокируют заголовкы http авторизации. обратитесь в техподдержку

 

Powered by ExBB FM 1.0 RC1