Как я уверен, вы уже знаете, что вы не можете напрямую отключить кнопку "назад" в браузере.
Единственные методы, которые не позволяют пользователю вернуться назад, - это либо установить страницу вкэшировать или включать использование javascript.Исходя из того, что ни один из этих способов не работает для вас, не существует решения для управления этим.За эти годы я просмотрел много статей и несколько раз переыскивал их, и во всех предложениях использовался сценарий на стороне клиента или кеш.
Мое лучшее предложение в вашем случае - использоватьметод отключения кэша и посмотрите, как ваш пользовательский интерфейс реагирует на кнопку «назад», и посмотрите, есть ли изменения, которые вы можете внести в дизайн, чтобы сделать его более плавным.Это может включать проверку переменных сеанса или проверку того, прошел ли пользователь аутентификацию, но, учитывая ваши требования, я считаю, что вам не повезло.
Короче говоря, вам нужно будет выбратьменьшее из двух зол.
- Использование кеша страниц гарантирует, что люди вообще не смогут использовать кнопку «назад» без использования javascript - возможно, лучшую безопасность
- Использование javascript для удаления истории страниц при выходе из системыпозволит вам запретить пользователям возвращаться после выхода из системы, но кто-то с включенным noscript или кто-то злоумышленник может отключить ваш контроль.
Вы точно не указали, кого и от чего пытаетесь защитить, но если я угадаю, и вы беспокоитесь о пользователе, который покидает свой компьютер после выхода из системы,но не закрывая окно браузера, действительно ли Javascript вызывает беспокойство?
Подумав, тип человека, который будет этим заниматься, не думает о том, как информация может быть использована злонамеренно.Злоумышленник, по-видимому, уже «думает как плохой парень» и знает достаточно, чтобы закрыть окно браузера.
Любой из этих вариантов можно обойти через вредоносное ПО, которое перехватывает / изменяет заголовки http, JavaScript и т. Д.так что ни один действительно не эффективен на 100%.Единственное различие, которое я вижу, заключается в том, что параметр javascript может быть нарушен как путем изменения html-кода при его перемещении по сети (с использованием чего-то вроде Fiddler или вредоносного ПО), так и путем простого отключения Javascript.поэтому параметр кэширования страниц незначительно лучше в целях безопасности.
Использование https вместо обычного http предлагает намного больше защиты в сочетании с методом заголовка, что делает его намного более эффективным, поскольку значительно увеличивает сложность манипулированияданные по сети, и они не отключаются простым отключением JavaScript.
В любом случае, я думаю, вам нужно взвесить ваши варианты и выбрать один или другой.Как ни печально, но мы можем сделать так много, чтобы защитить пользователей от самих себя.