![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
здравствуйте! есть механизм аутентификации пользователя для внутр сети. при правильной аутентификации создается сессия, которая живет до нажатия пользователем кнопки выйти. после этого хоть нажатие на кнопку в браузере обновить, хоть переход на предыдущую страницу - выкидывает на пустую страницу. но если вход был правильный потом выход правильный при новом запуске приложения вход на страницу пользователя происходит автоматически, без ввода пароля и логина. это ошибка. подумал что проблема в кешировании страницы, попытался устранить глюк следуя шагам, указанным на сайтах http://webo.in/articles/all/http-caching/
http://www.codenet.ru/webmast/php/caching.php#cache http://xpoint.ru/forums/programming/server...read/4908.xhtml но, к сожалению воз и ныне там. что с этим делать? Добавлено через 3 минуты и 18 секунд да, механизм аутентификации, создан без помощи нтмл-тегов, он получает ответы о правильности непосредственно от браузера и сервера и через бд мускл. т.е. в коде аутентификации есть прописаны только вызовы заголовков
|
|||
|
||||
capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 1 Всего: 13 |
Как создается сессия? Что значит выход правильный? Как он происходит? |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
Казалось бы, при чем здесшь кэширование...
|
|||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
аутентификация верна если логин и пароль верный - здесь загружается рабочая область пользователя и сессия равна его ид, при завершении работы пользователь должен нажать ссылку выйти(здесь происходит session_destroy();). и вот тут возникает проблема - пользователь закрывает браузер, идет занимается своими делами, снова открывает браузер, прописывает адрес в строке запроса браузера и здесь снова должна произойти аутентификация- ан нет!, пользователь снова попадает на свою рабочую область. а если второй раз с его рабочего места зайдет другой пользователь и наделает неприятностей?
2Ипатьевпри чем здесшь кэширование? может и не в кешировании дело? тогда в чем? |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
зачем? |
|||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
и unset($PHP_AUTH_PW);
unset($PHP_AUTH_USER); и session_destroy() не проходят зачем? - чтоб пользователь аутентифицировался заново. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
Eсли вы не заметили, то после session_destroy() пользователю НЕ приходится аутентифицировался заново
в общем, если вы не понимаете, что делаете, то лучше сделать "с помощью нтмл-тегов" |
|||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
2 Ипатьев я понимаю что делаю, иначе бы не спрашивал. спрашивая надеялся на совет, через теги делать не могу(требование в тз
![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
||||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
у меня инструкция распечатанная с принтскринами подобного приложения заказчик хочет так же.то есть в експлорере это окошко с ключиками, в виндовс 7 с цветочком красным и т.д - эти окно стандартные при вызове заголовков. unset($PHP_AUTH_PW); пробую хоть что-то.
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
да не против. пробуйте.
только не говорите тогда, что что понимаете. выберите что-то одно. |
|||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
2 Ипатьев я пришел за помощью, а не одобрением. если есть что сказать по делу - говорите!
Добавлено через 42 секунды и каждый суслик в поле агроном |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
Я написал. Два раза. Я то-то не заметил повышенного интереса к техническим вопросам.
Вас больше интересовало объяснить всем, как много вы понимаете. |
|||
|
||||
Zzet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
вовсе нет. технический вопрос - как же тогда убить сессию в данном случае(если session_destroy() и unset($PHP_AUTH_PW))? что писать вместо PHP_AUTH_PW? уже пробовал $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] - все без изменений?
Добавлено через 1 минуту и 38 секунд если Вы(Ипатьев) считаете что проблема в том что я чего-то не знаю, будьте добры, скажите конкретно в чем беда? Добавлено через 1 минуту и 59 секунд и что нужно знать |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 0 Всего: 37 |
Знать нужно очень много. протокол НТТР в целом и механизм (несложный) НТТР авторизации в частности. Чтобы хотя бы не возникало желания делать unset(PHP_AUTH_*)
Технический вопрос - зачем убивать сессию. И вообще, и - особенно - в данном конкретном случае. Это раз. Техническая ремарка: Если пользователь ставит галочку "запомнить пароль" в этом окошке, то он входит точно так же, несмотря вообще ни на какие наши желания. Техническая рекомендация вам придется очень попотеть, чтобы сделать этого франкенштейна из сессий и НТТР авторизации. Поэтому я настоятельно рекомендую сделать по-человечески, на одних сессиях. Иначе может совсем не получиться. Только если придет Питлорд и все распишет ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |