Opera和Safari上的CodeIgniter会话问题

时间:2010-08-27 07:02:08

标签: php session codeigniter safari opera

我正在使用 codeigniter 1.7.2。

在我退出后的Web应用程序中,单击浏览器的后退按钮,页面将在登录页面中重新加载。

此问题仅发生在 Opera Safari 上。 我使用meta禁用了缓存,但这没有帮助。 :(

<meta http-equiv="PRAGMA" content="NO-STORE" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="CACHE-CONTROL" content="NO-STORE" />

请帮助..

2 个答案:

答案 0 :(得分:0)

您能否展示如何使用meta禁用缓存?

浏览器对浏览器历史记录使用单独的缓存机制。即使您禁用了缓存,浏览器仍可能存储浏览器历史记录的页面。 Cache-Control: no-store标题应该可以防止存储页面。发送此标头的最佳方法是使用PHP而不是依赖元元素:

header("Cache-Control: no-store");

另请参阅:What is Cacheable了解Cache-Control: no-cacheCache-Control: no-store之间的区别

更新:这在Opera中不起作用,至少在Firefox和Chrome中有效。

答案 1 :(得分:0)

简短回答:阻止Opera在历史记录导航(后退/前进按钮)上使用缓存的唯一方法是使用缓存控制来提供 over https 页面:必须重新验证< / strong>标题。