Автор Тема: HTTP401 logoff  (Прочитано 7177 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
HTTP401 logoff
« : 17 Апреля 2004, 14:17:59 »
Пишу авторизацию. Сессии.
Получение входных данных - $PHP_AUTH_USER и PW. То есть "HTTP 401 Unauthorized"

Со входом все в полном порядке.
Устанавливаю в переменной сессии флаг авторизованности.
А вот как реализовать выход?

Проблема вот в чем:

- если сбрасывать флаг авторизованности - то при дальнейшей работе юзера остается открытая сессия и тянется PHPSESSID. Что некрасиво и неправильно.

- а если уничтожать сессию, то при обращении к скрипту авторизации браузер снова передает $PHP_AUTH_USER и PW. То есть выйти получается невозможно - тут же происходит новая авторизация. Бродилка, похоже, ориентируется по "HTTP 401" и снова передает логин и пасс.
Как запретить ей (бродилке, браузеру) это делать?

[off]Использовать отдельную страничку с формой ввода - не пойдет. Заказчик "окошко с паролем" хочет..[/off]
LJ: Backslashed life (rss)

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
HTTP401 logoff
« Ответ #1 : 17 Апреля 2004, 16:06:28 »
Цитировать
Мануал:
Both Netscape Navigator and Internet Explorer will clear the local browser window\'s authentication cache for the realm upon receiving a server response of 401. This can effectively "log out" a user, forcing them to re-enter their username and password. Some people use this to "time out" logins, or provide a "log-out" button.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #2 : 19 Апреля 2004, 00:53:23 »
Цитировать
Пишу авторизацию. Сессии.
Получение входных данных - $PHP_AUTH_USER и PW

глупость.
обоснуй.
Цитировать
если сбрасывать флаг авторизованности - то при дальнейшей работе юзера остается открытая сессия

Это еще с какой радости?!
Кто тебя заставляет сессию стартовать?
Цитировать

Как запретить ей (бродилке, браузеру) это делать?

никак, расслабься.
Цитировать
Использовать отдельную страничку с формой ввода - не пойдет. Заказчик "окошко с паролем" хочет..

выводи яваскриптом.
« Последнее редактирование: 19 Апреля 2004, 02:26:59 от RomikChef »

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
HTTP401 logoff
« Ответ #3 : 19 Апреля 2004, 01:56:31 »
[OFF]RomikChef
Меня оклеветали! :D[/OFF]
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
HTTP401 logoff
« Ответ #4 : 19 Апреля 2004, 12:05:10 »
Цитировать
FreeSpace:
Both Netscape Navigator and Internet Explorer will clear the local browser window\'s authentication cache for the realm upon receiving a server response of 401.

Бред. Говорю же, не работает.
Цитировать
RomikChef:
глупость.обоснуй.

В чем именно - в сессиях или PHP_AUTH_USER?
Цитировать
RomikChef:
Кто тебя заставляет сессию стартовать?

Мне показалось, так проще. Как нужно делать?
Цитировать
RomikChef:
выводи яваскриптом

:) Придется...
LJ: Backslashed life (rss)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #5 : 19 Апреля 2004, 12:16:52 »
Цитировать
CGVictor:
В чем именно - в сессиях или PHP_AUTH_USER?

в соединении этих двух механизмов.

Цитировать
CGVictor:
Мне показалось, так проще. Как нужно делать?

как-как?
стартовать сессию, если нужна, и не стартовать - если не нужна

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
HTTP401 logoff
« Ответ #6 : 19 Апреля 2004, 13:39:15 »
Цитировать
RomikChef:
в соединении этих двух механизмов.

А что в этом особо паршивого? В Http_Auth_Basic пароли летят практически прямым текстом. Чтобы не передавать их при каждом обращении, лучше, мне кажется, пользоваться сессиями...
Цитировать
RomikChef:
стартовать сессию, если нужна, и не стартовать - если не нужна

Нет, с этим как раз все ясно. Если авторизация проходит нормально, то сессия нужна (пользователь же дальше по админзоне гуляет). Но потом-то он в любом случае из нее выйдет. Поэтому сессия нужна, т.к. выйти из админзоны можно только если предварительно в нее войти :)
LJ: Backslashed life (rss)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #7 : 19 Апреля 2004, 14:01:01 »
Цитировать
CGVictor:
 Http_Auth_Basic пароли летят практически прямым текстом. Чтобы не передавать их при каждом обращении

ХА ХА ХА
Тупить-то не надо.
Ты сам-то понял, что сказал?
Ты можешь привести причину, по которой браузер НЕ будет посылать пароли с каждым запросом? Потому, что они тебе не нужны? Ты ему на ушко шепнешь, да?

И даже несмотря на это смехотворное заблуждение, в ответе все равно нет никакой логики. При чем здесь вообще пароли?
Бред - использовать НТТР только для вывода окошка

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #8 : 19 Апреля 2004, 14:04:29 »
Цитировать
CGVictor:
Поэтому сессия нужна, т.к. выйти из админзоны можно только если предварительно в нее войти

Мальчик, ты тормоз?
что мне за дело до твоих зон?
То тебе не нравится, что у тебя там что-то тянется, тебе задают законный вопрос - а зачем ты сам тянешь, и в ответ начинаются рассказы про какие-то зоны. эрогенные.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
HTTP401 logoff
« Ответ #9 : 19 Апреля 2004, 14:08:02 »
Цитировать
RomikChef:
Тупить-то не надо.

Ценное замечание.
Цитировать
RomikChef:
Ты можешь привести причину, по которой браузер НЕ будет посылать пароли с каждым запросом?

Потому что я от него их не прошу. После того, как я получил PHP_AUTH_USER, мне логин/пароль, в принципе, не нужны. Ибо есть сессия, где написано, что юзер авторизован. И с какой радости браузеру мне их слать? Он их и не шлет - проверял.

А как ему обьяснить, что не надо слать пароли автоматически на повторное появление "HTTP 401"?

[off]
Цитировать
RomikChef:
При чем здесь вообще пароли?

И кто тупит после этого?[/off]
LJ: Backslashed life (rss)

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #10 : 19 Апреля 2004, 14:12:50 »
Цитировать
CGVictor:
А как ему обьяснить, что не надо слать пароли автоматически на повторное появление "HTTP 401"?

ну так не допускай повторного появления 401.
Или это выше твоего понимания?
AS IS...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #11 : 19 Апреля 2004, 16:07:44 »
Мальчик просто не понимает, как работает НТТР авто.
И еще ерепенится.

когда узнает (а он же у нас круче вареных яиц), тогда и просветление ему будет.
А тема закрывается в силу полной своей бессмысленности.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #12 : 19 Апреля 2004, 16:09:54 »
Цитировать
CGVictor:
Он их и не шлет - проверял.

не забудь проверить еще раз, чудик

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
HTTP401 logoff
« Ответ #13 : 19 Апреля 2004, 16:26:57 »
Цитировать
CGVictor:
а если уничтожать сессию, то при обращении к скрипту авторизации браузер снова передает $PHP_AUTH_USER и PW.

Хе хе.
Вот этот забавный момент за всеми ляпами остался мной незамечаенным.
То есть, чувачок прилепил свой код в виде заплатки к некоей готовой НТТР авторизации.
И пихает из сессии в серверные переменные логин и пароль, как будто они пришли при авторизации.
Больше ничем эту цитату объяснить нельзя.
Разве что, некими телепатическими способностями браузера, который самостоятельно узнаёт, когда нашему другу нужен пароль
Не, я, все-таки, сейчас с него уписаюсь :-)

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
HTTP401 logoff
« Ответ #14 : 21 Апреля 2004, 12:14:46 »
Цитировать
RomikChef:
Не, я, все-таки, сейчас с него уписаюсь :-)

Ромик, я все-таки закрываю глаза на весь тот флейм, который ты тут устроил.
Цитировать
RomikChef:
не забудь проверить еще раз, чудик

Да запросто. Результат - тот же.
Цитировать
RomikChef:
И пихает из сессии в серверные переменные логин и пароль, как будто они пришли при авторизации.

Ерунду говорить не надо.

Короче, ладно. Если ничего толкового сказать не можешь -
Цитировать
RomikChef:тема закрывается

А мне, похоже, придется делать отдельную страничку с формой.
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28