Авторизация администратора.

Discussion in 'PHP' started by blaga, 28 Dec 2006.

  1. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Пишу свой проект, задумался на тему аторизирования Администратора. На сайте не будет никакой регистрации или пользователей. Только один админ. Решил использовать вот такую конструкцию для авторизации админа
    PHP:
    <?php
    $name
    ="lol";
    $pass="lol";
    if(!isset(
    $PHP_AUTH_USER))
      {
      
    Header('WWW-Authenticate: Basic realm="Enter in to Admin Panel."');
      
    Header('HTTP/1.0 401 Unauthorized');
      exit;
      }
    else
      {
      if((
    $PHP_AUTH_USER != $name ) || ($PHP_AUTH_PW != $pass))
        {
        
    Header('WWW-Authenticate: Basic realm="Enter in to Admin Panel."');
        
    Header('HTTP/1.0 401 Unauthorized');
        exit;
        }
      }

    ?>
    А потом вставлять его инклудом в каждый файл в админке. Хочу услышать мнение, безопасно ли это? Удобно ли? С аргументами пожалуйста.
     
  2. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    А не проще будет просто в папку админа кинуть файлик .htaccess с Basic авторизацией.

    А как ты предлагешь сделать, это надо будет каждый раз водить логин и пароль при переходе с одно файла на другой, проще созадать сессию и сней все делать!
     
    1 person likes this.
  3. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    да ну?
    нет не проще.
    Конечно, чем же нет.
    Да как и все остальное, где нужно авторизироватца.
     
    1 person likes this.
  4. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    2DIAgen, не надо каждый раз. Мне почему то кажется что он и так сессию создает(хотя наверное дело в чем то другом). А про .htaccess а слышал, читал, я так понял там надо что то кодировать какой то программулиной....
    2Green_Bear, раз безопасно значит оставим.
    Может еще кто нибудь что нибудь скажет по теме?
     
  5. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    сессию он не создает, просто сохраняет логин:пасс видимо и при каждом запросе к странице логинится заново.
    Я бы сделал один файл амдинки, пусть index.php с авторизацией, а дальше на основе полченных данных подгружал другие модули.
     
  6. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    однако сохраняет он его только до закрытия браузера....
    Какая разница?
     
  7. r@mbler

    r@mbler New Member

    Joined:
    12 Dec 2006
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    PHP:
    <?php
    $name
    ="c4ca4238a0b923820dcc509a6f75849b"// логин пользователя
    $pass="c4ca4238a0b923820dcc509a6f75849b"// пароль пользователя
    $heshname $HTTP_SERVER_VARS['PHP_AUTH_USER'];
    $heshpass $HTTP_SERVER_VARS['PHP_AUTH_PW'];
    $heshname md5($heshname);
    $heshpass md5($heshpass);
    if (!isset(
    $heshname) || $heshname!=$name || $heshpass!=$pass)
       {
       
    header("WWW-Authenticate: Basic realm=\"Auth\"");
       
    header("HTTP/1.0 401 Unauthorized");
       exit(
    "Access Denied");
       }
    ?>
    так вроде безопаснее
     
    1 person likes this.
  8. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    я бы не сказал. если можно просмотреть файл, то скорее всего можно и его отредактировать. Так что шифровка тут лишне.
     
  9. r@mbler

    r@mbler New Member

    Joined:
    12 Dec 2006
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    А если только прочитать смогут?
    Бац и прочтут пароль.
    А так хоть есть дополнительная защита.
     
  10. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    хехе, я не думаю, что блага такой дурак ;)
    на мой взгляд это лишнее.
     
  11. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    лучше еще если зенд от любопытных читателей зендить)
     
  12. r@mbler

    r@mbler New Member

    Joined:
    12 Dec 2006
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    Мы все люди, а люди ошибаются.
    Не зря в форумных БД все пароли хранятся в зашифрованом ввиде
     
  13. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    2Green_Bear, хе, смотри не перехвали. ;) Всем спасибо, все свободны. :) Вопрос я решил. Как говорится спАсЫбА что поправили кЕпку. :)
     
  14. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Все бы было хорошо. Но вот тема у меня не работает на хосте. На локалхосте все как надо а на хосте не канает. Я подозреваю что это из за register_globals Off. Может быть кто нить подскажет как быть?
     
  15. blaga

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Ответ нашел в поисковиках. :)
    нужно было только заменить $PHP_AUTH_USER на $_SERVER[PHP_AUTH_USER] и так же с паролем.