|
авторизация по F5
|
|||
---|---|---|---|
#18+
На моём сайте вводится логин пароль, выставляются куки - пользователь авторизован. затем пользователь нажимает кнопку выход - куки авторизации удаляются из базы данных, пользователь перенаправляется на страницу авторизации. Теперь если пользователь нажмёт кнопку назад в браузере, а затем обновит страницу, то он вновь будет авторизован с новым куки. что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2017, 15:46 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
А как это он будет авторизован, на каком основании? Старая кука из базы удалена - значит, попытка сопоставления пришедшей куки с конкретным пользователем по записи в таблице авторизаций не будет успешной. В такой ситуации должен выдаваться запрос на авторизацию. Qlewero4ekчто делать?Анализировать алгоритм, искать ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2017, 16:36 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
vkle, повторяется запрос с отправкой логина и пароля на эту страницу. потому и куки создаётся новая. попробую отправлять не формой, а ajaxом, возможно, ajax-запрос невозможно будет повторить. отпишусь, что получится ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2017, 16:51 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
Повторная отправка формы по F5 уж не знаю сколько раз обсуждалась на форуме. Простейшее решение - редирект страницы на себя. Продвинутое - в форму при отдаче добавляем одноразовый уникальный идентификатор экземпляра формы в скрытое поле, а на приеме смотрим, есть это идентификатор в базе или нет. Есть - авторизуем и удаляем идентификатор (ибо, он уже протух), нет - отдаем форму. Есть ещё варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2017, 18:26 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
vkle, по нажатию на кнопку "выход" я удаляю куки из бд, делаю перенаправление на эту же страницу. т.к. куки не совпадают, пользователя выкидывает на страницу авторизации. пока всё хорошо. но! опять же нажимаю кнопку назад, на страницу, где должен сидеть уже авторизированный пользователь. она не отображается. нажимаю f5. повторно отправляются логин и пароль, пользователь автоматически входит ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 08:54 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
vkle, со скрытой формой и записью в бд звучит хорошо, но это надо создавать отдельную таблицу в бд, т.к. нет никакой привязки к конкретному пользователю, + при каждом обновлении страницы авторизации будет создавать новая запись в бд, а старая навсегда останется в бд, т.е. придётся вновь обращаться к базе со страницы авторизации и удалять её. ajaxом не получится? или получится, но способ со скрытыми идентификаторами хорош именно тем, что работает исключительно средствами php? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 09:33 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
Qlewero4ekсо скрытой формойС полем Qlewero4ekнет никакой привязки к конкретному пользователю,В таблице временных идентификаторов экземпляра формы? Она и не нужна. Qlewero4ekстарая навсегда останется в бдЧто мешает кроме "своей" записи удалить так же и остальные протухшие (записи с возрастом, скажем, более 10 минут) непосредственно в скрипте авторизации? Qlewero4ekработает исключительно средствами php?Это алгоритмическая фишка, которая явно разрешает принимать данные от клиента только если форма была сгенерирована специально для конкретного случая. При переходах на предыдущую страницу формой будет отдан "протухший" идентификатор. Серверная технология не имеет никакого значения. Либо ищите ошибку в реализации Вашего алгоритма. Если верить описанию, он должен работать. Конечно, если только используется авторизация веб-формой, а не HTTP-авторизация, когда браузер по каждому чиху отправляет регистрационные данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 10:18 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
понял принцип. напишу для чайников, как я: 1.php - страница авторизации 2.php - страница обработки введенных логина-пароля, генерации и установки куки в бд и браузер 3.php - рабочая страница т.е. чтобы авторизоваться по f5, нужно нажать f5 на странице 2.php. но 2.php тупо перенаправляет на 3.php при правильном пароле, на 1.php при неправильном, на ней браузер не задерживается как всё оказалось просто. скрытые поля начал делать, но не пригодились, т.к. пока что не нашёл минусов данного решения ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 15:51 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
при нажатии кнопки назад в браузере пользователь всё ещё может попасть с 1.php на 3.php и прочитать личную информацию пользователя на странице, даже не имея куки. что делать в этом случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 15:59 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
Qlewero4ekпри нажатии кнопки назад в браузере пользователь всё ещё может попасть с 1.php на 3.php и прочитать личную информацию пользователя на странице, даже не имея куки.Откуда берется страница для отображения - её вебсервер отдает, или, банально, браузер достает из своего кеша? В последнем случае можно пытаться запретить кеширование, ограничить время жизни документа, но всё это носит отчасти рекомендательный характер и вполне может быть проигнорировано браузером или прокси. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2017, 19:32 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
прописал Код: html 1.
не помогло. сделал так: при нажатии на кнопку идет перенаправление на эту же страницу с post-параметром. при загрузке страницы проверяется, имеется ли этот параметр. если да, то страница пустая, происходит перенаправление на страницу регистрации. Но. При нажатии кнопки "назад" в браузере переходим не на пустую страницу, а на заполненную всеми личными данными, которые, остаются мистическим образом(чтобы получить их, нужны куки, которые стираются из бд при нажатии на кнопку "выход". по моему плану я выполнял переход на ту же страницу, но не заполнять, чтобы браузер запомнил её(адреса совпадают, get запросов нет. а при нажатии кнопки "назад" в браузере должно перекидывать на пустую страницу. но что-то идёт не так... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 13:44 |
|
авторизация по F5
|
|||
---|---|---|---|
#18+
мой способ работает! проблема была в том, что куки не успевали удалиться ajax-запросом, хотя ajax-запрос и стоит выше по коду, чем перенаправление. сначала выполняю перенаправление на свою же страницу при помощи скрипта с post-параметром, в шапке страницы проверяю на php, не пришёл ли параметр. если пришёл, то перенаправляю на страницу регистрации. если пользователь нажмёт "назад" в браузере, то попадёт на пустую страницу. таймеры не пригодились, страница успешно перезаписывается в кэше моментально ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2017, 15:07 |
|
|
start [/forum/topic.php?fid=23&fpage=29&tid=1460489]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 405ms |
0 / 0 |