2014-01-15 2 views
0

Используя Symfony2, существует ли безопасный способ аннулировать текущий сеанс пользователя, если пользователь нажимает кнопку браузера?Symfony2 - аннулировать сеанс при обратном обращении пользователя

+0

Нельзя ли пользователю нажать кнопку «Назад», чтобы вернуться в безопасный раздел сайта? – Mathew

+0

Не совсем - скорее, это должно помешать пользователю нажать кнопку «Назад» в любом безопасном контексте. Я знаю, что поиск контроля над браузером клиентов таким образом, скорее всего, является вонючей вещью, но для этого нужен современный дизайн. – csvan

ответ

0

Вы можете определить разрешенные шаги tranision для пользователя браузера и проверить его на каждом контроллере вызова, хранящей данные с сеансом

, например, вы определяете, что переход от А к В (т.е. телегу просмотра в корзину кассе в интернет-магазине) разрешено, поэтому вы проверяете, что текущее состояние - B, а предыдущее состояние сеанса - A, чем состояние сеанса обновления. Если контроллер реализует, этот переход не допускается - вы можете сформировать исключение или сделать какие-либо другие вещи (то есть сделать недействительным токен безопасности).

Но вам необходимо реализовать карту перехода таким образом.

На самом деле, у вас нет способа до предотвратить нажав. Это делается на стороне клиента. Все, что вы можете сделать - просто правильно реагировать на это действие.

Смежные вопросы