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 :: Версия для печати :: Срабатывает - но не верно...
Форумы портала PHP.SU » » Вопросы новичков » Срабатывает - но не верно...

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

1. event - 09 Февраля, 2012 - 18:50:59 - перейти к сообщению
Привет, есть такой код:
PHP:
скопировать код в буфер обмена
  1. function authentication() {
  2. $config['login'] = "admin"; //Логин Администратора
  3. $config['password'] = "c4ca4238a0b923820dcc509a6f75849b"; //Пароль Администратора, хранится в MD5
  4.  
  5.  
  6. if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] <> $config['login'] || md5(md5($_SERVER['PHP_AUTH_PW']).$_SERVER['PHP_AUTH_USER']) <> $config['password']){
  7.  
  8. header("WWW-Authenticate: Basic realm=\"Administration\"");
  9. header("HTTP/1.0 401 Unauthorized");
  10.  
  11. bark("Пароль введенный в поле <b>Авторизация</b> - неверный.");
  12. }
  13.  
  14. unset($config['password'], $config['login']);
  15.  
  16. }


Вот код авторизации в админку, срабатывает, но когда я ввожу 100% верный пароль и логин, он снов мне выбивает форму авторизации.
2. Okula - 09 Февраля, 2012 - 19:05:38 - перейти к сообщению
event, это что у тебя в условии за фигня <>. Это тебе не SQL где такой символ отрицание. Отрицание в PHP это !
Должно быть $_SERVER['PHP_AUTH_USER'] !== $config['login'] и аналогично с паролем.
3. EuGen - 09 Февраля, 2012 - 19:07:17 - перейти к сообщению
Okula
Но тем не менее оно сработает. != и <> это одно и то же

Автору темы - подозреваю, что суть в том, что Вы не сохраняете состояние авторизованности (например, в сессии)
4. romario0403 - 09 Февраля, 2012 - 19:11:50 - перейти к сообщению
все у тебя работает, $config['password'] содержит неправильный пароль
выведи echo md5(md5('YOUR_PASSWORD').'YOUR_LOGIN'); и результат запиши в пароль

 

Powered by ExBB FM 1.0 RC1