我正在开发一个利用PDFLib为我的用户提供动态PDF文件的应用程序,这些文件汇总了他们的帐户,并且需要确保这些页面没有被缓存(一些敏感数据被传递,我不能将它存储在缓存中出于安全原因)。
我尝试使用以下代码:
Header("Expires:-1");
Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
Header("Cache-Control: no-store, no-cache, must-revalidate");
Header("Cache-Control: post-check=0, pre-check=0", false);
Header("Pragma:no-cache");
首先,我没有确定的方法来测试IE7没有缓存页面,所以我的第一个问题是“如何测试以确保我的无缓存标头正常工作?”
其次,在我将这些行添加到我的代码后,PDF停止在IE7中显示。当我删除线条时,它工作正常。任何人对如何避免这种行为有任何想法?
提前致谢!
编辑:第一个问题已得到解答;我应该分别问他们。我的第二个问题“如何在发送无缓存标头时避免IE7无法呈现PDFLib页面的行为?”仍然活跃。
答案 0 :(得分:1)
要检查页面是否已缓存,请更改并刷新。请注意,Expires
标头应包含日期,因此-1
的值无效。请尝试使用过去的日期。
答案 1 :(得分:0)
我实际上为IE 7找到了调试栏 http://www.debugbar.com/download.php,它显示了所有标头和缓存信息。我使用HTTP(S)选项卡,选择我的文档并查看下面的“信息和缓存”。一旦我掌握了它,真的很容易。