【问题标题】:CodeIgniter session issue on Opera and SafariOpera 和 Safari 上的 CodeIgniter 会话问题
【发布时间】:2010-08-27 07:02:08
【问题描述】:

我正在使用 codeigniter 1.7.2。

注销后在我的网络应用程序中,单击浏览器的后退按钮时,页面会在登录页面中重新加载。

此问题仅在 Opera 和 Safari 上出现。 我已经使用元禁用了缓存,但这没有帮助。 :(

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

请帮忙..

【问题讨论】:

    标签: php session codeigniter safari opera


    【解决方案1】:

    你能说明你是如何使用 meta 禁用缓存的吗?

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

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

    另请参阅:What is Cacheable Cache-Control: no-cache 和 Cache-Control: no-store 之间的区别

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

    【讨论】:

    • 但是 header("Cache-Control: no-store");也不工作:(
    • 啊,我刚刚测试过,似乎 Opera 总是缓存用于其历史记录的页面。有关该主题的更多信息:stackoverflow.com/questions/2866826/…
    • 但是,我仍然没有得到解决方案,,,,
    【解决方案2】:

    简答:防止 Opera 在历史导航(后退/前进按钮)上使用缓存的唯一方法是使用 Cache-control: must-revalidateover https 为页面提供服务/strong> 标题。

    【讨论】:

    猜你喜欢
    • 2020-01-20
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多