Php-浏览器缓存和身份验证

Php-浏览器缓存和身份验证,php,authentication,caching,Php,Authentication,Caching,我有一个带有过滤内容的网站,所以我有缓存问题:当有足够权限的用户访问带有私有内容的页面时,浏览器会将私有内容放入缓存,当用户断开连接时,私有内容仍然可见 我尝试在用户登录时禁用缓存(带有标题(“缓存控制:无缓存,必须重新验证”)),但这会带来太多问题,所以我的实际解决方案是在用户登录或未登录时禁用我所有页面上的缓存 是否有更好的解决方案来处理此问题,例如在用户登录或注销时删除网站的所有浏览器缓存 我发现了一些html5缓存清单,但它似乎已经被弃用了。。。不管怎样,它都不起作用 我考虑了另一种解决

我有一个带有过滤内容的网站,所以我有缓存问题:当有足够权限的用户访问带有私有内容的页面时,浏览器会将私有内容放入缓存,当用户断开连接时,私有内容仍然可见

我尝试在用户登录时禁用缓存(带有标题(“缓存控制:无缓存,必须重新验证”)),但这会带来太多问题,所以我的实际解决方案是在用户登录或未登录时禁用我所有页面上的缓存

是否有更好的解决方案来处理此问题,例如在用户登录或注销时删除网站的所有浏览器缓存

我发现了一些html5缓存清单,但它似乎已经被弃用了。。。不管怎样,它都不起作用

我考虑了另一种解决方案,当用户登录时在每个url中放置一个令牌,但这让我有点烦恼

header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
放置文件头


放置文件头

您可以在URL中添加一个参数,但其中包含有关用户的信息,以生成缓存的新URL。 这样,当用户连接时,缓存管理器将用作此页面,如果之前已连接,则将提供此页面


例如
mydomain.com/privateurl.html?userid=123562

您可以向URL添加一个参数,但包含有关用户的信息,以生成缓存的新URL。 这样,当用户连接时,缓存管理器将用作此页面,如果之前已连接,则将提供此页面


例如
mydomain.com/privateurl.html?userid=123562

这个解决方案禁用了我所有页面上的缓存,这就是我目前所做的。我想要一个其他的解决方案,这就是为什么我问,我可能会尝试令牌一。好吧,这个解决方案禁用我所有页面上的缓存,这是我目前所做的。我想要一个其他的解决方案,这就是我为什么要问的原因,我可能会尝试象征性的解决方案。如果没有更好的解决方案,我会使用它。谢谢如果没有更好的解决方案,我将使用它。谢谢