Аутентификация для Админки

Тема в разделе "PHP", создана пользователем yeaahhh, 27 апр 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Ребят, хочу защитить админку сайта.. Какой способ аутентификации лучше всего с точки зрения безопасности?

    Нашёл вот это:
    PHP:
    $adminlogin="admin";
    $adminpassword="123123";

    if (
    $login!==false && (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) ||

    $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$adminlogin || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$adminpassword)) {

    header("WWW-Authenticate: Basic realm=\"ELBUK:Admin\"");

    header("HTTP/1.0 401 Unauthorized");

    exit(
    "<h1>Вы ввели неправильный логин или пароль!</h1>\n");

       }
    Но что-то не работает данный способ.. После того, как ввожу данные (пробовал вводить как правильные, так и неправильные) и нажимаю "ОК", появляется такая же таблица снова.. и так по кругу..
    Подскажите пожалуйста, может для данного способа есть какие-то условия? Заранее спасибо.
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    1) условие неправильно составлено
    2) откуда берется переменная $login?
     
  3. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Такое условие было в исходном скрипте.. Согласен с вами, наверное, что-то напутал автор..
    saen, не могли бы вы подправить код?
    Чтобы была опора на заданные
    PHP:
    $adminlogin="admin";
    $adminpassword="123123";
    Буду очень благодарен..
     
  4. E-body

    E-body

    Регистр.:
    6 сен 2007
    Сообщения:
    980
    Симпатии:
    315
    PHP:
    <? 
      
    session_start(); 
      
    $name 'name'
     
    $pass 'pass';
      if (
    $_SERVER['PHP_AUTH_USER']!=$name || $_SERVER['PHP_AUTH_PW']!=$pass
      { 
        
    header("WWW-Authenticate: Basic realm=\"Hello, if you admin write login and pass. Or go away :)\""); 
        
    header("HTTP/1.0 401 Unauthorized"); 
        echo 
    "Вы не авторизовались"
        exit; 
      } 
      else 
      { 
        
    $_SESSION['name'] = $_SERVER['PHP_AUTH_USER']; 
        
    $_SESSION['pass'] = crypt(md5($pass),'what is you do there?'); 
       
      
       echo
    "Код или контент который виден после успешной авторизации";
    }
    ?>
     
Статус темы:
Закрыта.