如何让php网页在特定时间到期

时间:2012-06-01 12:02:12

标签: php security header browser-cache

出于安全考虑,有几篇文章建议“不要缓存页面”。所以我通常在网页的开头加上以下内容

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

效果很好,但很多访客都喜欢使用历史按钮。所以,我需要在短时间内允许它。 我尝试使用以下标题

header("Cache-Control: maxage=".$expires.", must-revalidate");
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

其中 $ expires 是我需要的时间。问题是页面不会过期,就好像那些标题不存在一样。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

简而言之:浏览器历史记录缓存是不同的,您无法完全控制。对另一个问题有一个完美而详尽的答案,也可以在这里回答你的问题:

Why both no-cache and no-store should be used in HTTP response?