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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: HTTP авторизация

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
event
Отправлено: 20 Июня, 2013 - 18:19:41
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Сделал вот такую себе HTTP авторизацию:

PHP:
скопировать код в буфер обмена
  1. $config['login'] = array("admin", "admin2");
  2. $config['password'] = array("123456", "qwerty");
  3.  
  4. function httpauth(){
  5. global $config, $_SERVER;
  6.        
  7. if(!in_array($_SERVER['PHP_AUTH_USER'], $config['login']) || !in_array($_SERVER['PHP_AUTH_PW'], $config['password']))    {
  8.        
  9.     header('WWW-Authenticate: Basic realm= "Admin Panel"');
  10.     header('HTTP/1.0 401 Unauthorized');
  11.     die("You have entered an incorrect username or password.");
  12. }
  13.  }
  14.  


Ну и где мне нужна авторизация, то просто вызываю эту функцию. В общем с этим все гуд. Но сейчас она работает, ты вводишь логин, он ищет его, если находит - ок, потом он ищет пароль со СПИСКА всех паролей, то есть под аккаунтом admin, можна зайти вводя пароль от аккаунта admin2. Как это исправить? Чтобы четко вводить пароль к аккаунту admin, и пароль к аккаунту admin2.

Заранее спасибо за ответы.
 
 Top
EuGen Администратор
Отправлено: 20 Июня, 2013 - 18:28:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. $rgConfig['auth']=array('admin0'=>'password0', 'admin1'=>'password1');
  2. //...
  3. if(!array_key_exists($_SERVER['PHP_AUTH_USER'], $rgConfig['auth']) || $rgConfig['auth'][$_SERVER['PHP_AUTH_USER']]!=$_SERVER['PHP_AUTH_PW'])    
  4. {
  5.        
  6.     header('WWW-Authenticate: Basic realm= "Admin Panel"');
  7.     header('HTTP/1.0 401 Unauthorized');
  8.     die("You have entered an incorrect username or password.");
  9. }

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 20 Июня, 2013 - 18:37:34
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




EuGen, спасибо, работает. Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB