Rails (método set_no_cache) Não é possível desativar o cache do navegador no Safari e no Opera

Depois de usar o Devise para minha autenticação, descobri que havia uma falha de segurança, depois que o usuário faz logout, as variáveis ​​da sessão são preservadas. Isso permite que qualquer pessoa pressione o botão Voltar e acesse a tela anterior do usuário conectado.

Eu olhei para esses postsNum 1 Numero 2 Numero 3

Eu adicionei estas linhas ao meu 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

No _form.html.erb eu adicionei isso no topo

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

Então eu testei o aplicativo no Firefox, Chrome e Safari.

O Firefox e o Chrome funcionavam bem, eu desliguei e apertei o botão Voltar e não pude ver a tela anterior do usuário, no entanto, no Safari e no Opera, o comportamento inseguro persistiu. Este código não tem efeito.

Alguma sugestão sobre como consertar isto?

obrigado

questionAnswers(3)

yourAnswerToTheQuestion