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. Студеньт - 19 Ноября, 2015 - 09:51:18 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.        if (($PHP_AUTH_USER!="x")||($PHP_AUTH_PW!= "x"))
  4.        {
  5.        header('WWW-Authenticate: Basic realm="Administrative resource"');
  6.        header ('HTTP/1.0 401 Unauthorized');  
  7.        exit();
  8.        }
  9. ?>
  10.  
  11. <!DOCTYPE HTML><html><body>
  12.  
  13. текст документа
  14.  
  15. </body></html>
  16.  



поясните пжста что же я не понял в теме авторизации

Файл index.html
Сервер настроен на обработку скриптов пхп в файлах хтмл

логика такая -
запрашивается логин и пароль
и если они равны х и х тогда клиент получает html документ

Однако при вводе х и х браузер всеравно продолжает спрашивать логин и пароль
2. andrewkard - 19 Ноября, 2015 - 10:17:08 - перейти к сообщению
Студеньт
Повторите данный пример - http://habrahabr[dot]ru/post/13726/
Статья основы дает, как нужно. Дальше сами.
3. Студеньт - 19 Ноября, 2015 - 10:25:24 - перейти к сообщению
andrewkard пишет:
Студеньт
Повторите данный пример - http://habrahabr[dot]ru/post/13726/
Статья основы дает, как нужно. Дальше сами.


По ссылке слишком много ненужного мне

Мне бы понять почему не работает мой простейший код
4. andrewkard - 19 Ноября, 2015 - 10:31:10 - перейти к сообщению
Студеньт пишет:
слишком много ненужного мне

Там как раз самое основное, покажите Ваш код полностью.
5. Студеньт - 19 Ноября, 2015 - 10:34:56 - перейти к сообщению
andrewkard пишет:
Студеньт пишет:
слишком много ненужного мне

Там как раз самое основное, покажите Ваш код полностью.


Код полностью я показал
И логику описал
6. andrewkard - 19 Ноября, 2015 - 10:49:13 - перейти к сообщению
А, сразу не понял.
У Вас переменные не правильные:
PHP:
скопировать код в буфер обмена
  1.  
  2. if (!isset($_SERVER['PHP_AUTH_USER'])) {
  3.     header('WWW-Authenticate: Basic realm="My Realm"');
  4.     header('HTTP/1.0 401 Unauthorized');
  5.     echo 'Текст, отправляемый в том случае,
  6.    если пользователь нажал кнопку Cancel';
  7.     exit;
  8. } else {
  9.     echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
  10.     echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
  11. }
  12.  

Возьмите 2 пример:
http://php.net/manual/ru/features.http-auth.php
7. Студеньт - 19 Ноября, 2015 - 11:20:10 - перейти к сообщению
спасибо - заработало как надо



CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.        if ($_SERVER['PHP_AUTH_USER'] != "z" || $_SERVER['PHP_AUTH_PW'] != "z")
  4.                 {
  5.                 header('WWW-Authenticate: Basic realm="WWW-Authenticate"');
  6.                 header ('HTTP/1.0 401 Unauthorized');
  7.                 exit();
  8.                 }
  9. ?>
  10.  
  11. <!DOCTYPE HTML><head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  13. </head><html><body>
  14. текст документа
  15. </body></html>
  16.  
- это же есть простейший способ защитить страницу от посторонних?
или еще что то надо?
(в ситуации когда надо просто элементарно защитить страницу от чужих лиц)

Не понимаю почему во всех учебниках нет такого простого куска кода
Зачем проверять заполненость переменной если можно сразу проверить ее значение?!
8. andrewkard - 19 Ноября, 2015 - 12:29:28 - перейти к сообщению
Простейший, но не надежный.
Студеньт пишет:
Зачем проверять заполненость переменной если можно сразу проверить ее значение?!

Если переменная не объявлена перед проверкой, будет ошибка Notice: Undefined variable:

 

Powered by ExBB FM 1.0 RC1