Я работаю над проектом по онлайн-экзамену. В этом случае, когда отображается вопросник, пользователь может вернуться на предыдущую страницу. Как я могу запретить пользователю доступ к предыдущей странице.
как я могу запретить пользователю доступ к предыдущей странице jsp с помощью кнопки «Назад» или возврата в браузере
Ответы (2)
Вы не можете запретить пользователю нажимать кнопку «Назад» в браузере.
Однако вы можете поддерживать состояние в сеансе.
Пример:
Когда пользователь обращается к странице вопроса, номер запрошенного вопроса сравнивается с номером, хранящимся в сеансе. Если оно больше или равно, номер в сеансе обновляется и доступ предоставляется. Если меньше, то в доступе будет отказано, а ответом будет страница с пояснением почему.
person
Laurent Pireyn
schedule
27.04.2011
не могли бы вы уточнить это. как использовать его на практике (код)
- person Mohammad Faisal; 28.04.2011
@Mohammad Faisal: я не могу подробнее рассказать, так как понятия не имею о контексте вашего веб-приложения. Вы должны быть в состоянии реализовать мое предложение довольно легко; существует множество руководств по сервлетам и JSP.
- person Laurent Pireyn; 30.04.2011
Мы можем запретить пользователю использовать кнопку «Назад» в браузере. Должен быть какой-либо скрипт, чтобы остановить использование кнопки «Назад».
- person Mohammad Faisal; 04.07.2011
@Mohammad Faisal: Невозможно обеспечить соблюдение порядка URL-адресов, запрашиваемых клиентами: HTTP - это протокол без сохранения состояния, без подключения, и клиенты в конечном итоге решают, какой URL-адрес они запрашивают. Существуют некоторые приемы JavaScript для управления кнопкой «Назад», но они раздражают и их очень легко обойти.
- person Laurent Pireyn; 05.07.2011
если вы обрабатываете сеанс вручную в своем приложении, вы удаляете все переменные сеанса из своего приложения и помещаете следующий java-скрипт на свою страницу в функцию загрузки, где вы перенаправляете после выхода из системы
<html>
<head>
<script type="text/javascript">
window.history.forward();
function noBack() {
window.history.forward();
}
</script>
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();">
<!-- your html/jsp code -->
</body>
</html>
person
Piyush Chaudhari
schedule
26.08.2012