发现可高速缓存的 SSL 页面
技术描述:
缺省情况下,大部分 Web 浏览器都配置成会在使用期间高速缓存用户的页面。 这表示也会高速缓存 SSL 页面。不建议让 Web 浏览器保存任何 SSL 信息,因为当有漏洞存在时,可能会危及这个信息。
安全风险:
可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置,一般
在所有 SSL 页面及含有敏感数据的所有页面上,禁用高速缓存。通过使用你您 SSL 页面标题中的“Cache-Control: no-store”和“Pragma: no-cache”或“Cache-Control: no-cache”响应伪指令来实现此操作。
Cache-Control: private
此伪指令可向代理指示某个页面中包含私有信息,因此不能由共享高速缓存进行高速缓存。但是,它不会指示浏览器阻止高速缓存此页面。
Cache-Control:no-cache
此伪指令也可向代理指示某个页面中包含私有信息,因此不能高速缓存。它还会指示浏览器重新验证服务器以检查是否有新的版本可用。这意味着浏览器可能会存储敏感页面或要在重新验证中使用的信息。某些浏览器不一定会跟踪 RFC,因此可能会将 no-cache 视为 no-store。
Cache-Control:no-store
这是最安全的伪指令。它同时指示代理和浏览器不要高速缓存此页面或将其存储为它们的高速缓存文件夹。
Pragma: no-cache
对于不支持高速缓存控制标题的较旧浏览器,该伪指令是必需的。