我发现 Safari 的热门站点图像缓存存在重大安全缺陷。对于那些不知道的人来说,Safari 基本上会为您访问的每个页面拍摄快照,这应该对用户有用。我的问题是它甚至会拍摄我网站受密码保护的部分的快照。因此,如果有人掌握了我的用户的一台计算机并且知道在哪里查看,他们就会拥有一整套内容存储库,理论上这些内容应该仅供我的用户查看。
我在其他网站上测试了此“功能”,发现 Gmail 和 hotmail 等网站不会被缓存。好吧,只有 hotmail 登录页面会被缓存,除此之外什么都不会被缓存,而且 Gmail 根本不会被缓存。所以我的问题是:我能做些什么来防止这种情况发生?我已经通过使用
阻止了 FF、IE、Opera 等中的正常缓存header('Cache-control: no-store, no-cache')
以及 pragma: no-cache 以及书中阻止页面被缓存的所有其他技巧。给出了什么?
最佳答案
更新:对于阅读本文的任何人:这仍然是一个 Unresolved 问题。我什至联系了 Safari 开发团队,他们只是给了我一些建议。
@基兰·艾伦
这是您要求我包含的代码的结果:
Headers sent
array(7) {
[0]=>
string(23) "X-Powered-By: PHP/5.2.2"
[1]=>
string(38) "Expires: Mon, 26 Jul 1997 05:00:00 GMT"
[2]=>
string(50) "Cache-Control: no-store, no-cache, must-revalidate"
[3]=>
string(16) "Pragma: no-cache"
[4]=>
string(40) "Cache-Control: post-check=0, pre-check=0"
[5]=>
string(44) "Last-Modified: Wed, 14 Jul 2010 09:32:56 GMT"
[6]=>
string(23) "Content-type: text/html"
}
我目前的理论是 Safari 会在使用 https 的安全网站上禁用快照。
(我知道用这个来回答我的问题不是正确的协议(protocol),但是当我问这个问题时,我不是注册成员(member)。不过,我在最后一个小时内注册了,并且认为我可以声明这个问题是我自己的问题,但是堆栈溢出不允许这样做。)
关于php - 阻止 Safari 缓存热门站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3244481/