Rails (метод set_no_cache) Невозможно отключить кэширование браузера в Safari и Opera

После использования Devise для моей аутентификации я обнаружил, что в безопасности есть дыра в том, что после выхода пользователя переменные сессии сохраняются. Это позволяет любому человеку нажимать кнопку "Назад" и получать доступ к предыдущему экрану зарегистрированного пользователя.

Я посмотрел на эти посты № 1 № 2 № 3

Я добавил эти строки в мой application_controller

before_filter :set_no_cache
def set_no_cache
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end

В _form.html.erb я добавил это вверху

<%if user_signed_in? %>
<%=link_to "Sign Out",  destroy_user_session_path, :method => :delete %><br/>
<%= form_for(@listing) do |f| %>
<% if @listing.errors.any? %>
...........

Затем я протестировал приложение на Firefox, Chrome и Safari.

Firefox и Chrome были хороши тем, что я вышел из системы и нажал кнопку «Назад» и не мог видеть предыдущий экран пользователя, однако в Safari и Opera небезопасное поведение сохраняется. Этот код не имеет эффекта.

Любые предложения о том, как это исправить?

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос