如何防止浏览器缓存CodeIgniter中使用的会话中的URL

时间:2017-05-06 15:51:45

标签: php codeigniter session caching

在我的Codeigniter应用程序中,当我注销并单击浏览器的后退按钮时,我可以看到上一页(只有在登录后才能看到页面)。当我注销并关闭浏览器选项卡时。无论如何我都无法转到上一页(例如访问历史记录)。我认为在第一种情况下浏览器缓存URL。在Codeigniter中如何防止浏览器缓存使用会话的URL

1 个答案:

答案 0 :(得分:0)

显然,对于CodeIgniter和一般的PHP应用程序,有几种方法可以解决此问题(在stackoverflow上有记录)。我已经测试了一些解决方案,但是真正适合我的是在函数的顶部打印,我不想缓存结果,以下几行:

  • $ this-> output-> set_header(“缓存控制:不存储,不缓存,必须重新验证,最大年龄= 0,后检查= 0,预检查= 0”); < / li>
  • $ this-> output-> set_header(“ Pragma:no-cache”);

此功能只是让您设置服务器标头,该标头将与最终显示一起输出(CI功能注释)

对于我看过的解决方案,我已经看过两次标头“ Cache-Control”集,我不确定为什么,但是我已经意识到在我的情况下第二个标头(“ Cache-Control标头”)覆盖第一个。因此,我决定将所有值放在一行中(如上所示)。

这似乎是一篇旧文章,但无论如何,我敢打赌,我们中的许多人仍在实际维护旧代码。

更多信息: https://www.cloudflare.com/learning/cdn/glossary/what-is-cache-controlHow to prevent Browser cache for php sitesending cache-control headers not working in Codeigniterhttps://httpd.apache.org/docs/2.4/caching.html