使用Cache-Control: no-store头,禁止IE浏览器保存临时文件,保护机密信息

简介: 通常,IE浏览器访问页面时,会在临时文件夹下保存页面的html,js,图片等等。 当页面上包含敏感信息时,这些信息也会存储在临时文件中。
+关注继续查看

通常,IE浏览器访问页面时,会在临时文件夹下保存页面的html,js,图片等等。
当页面上包含敏感信息时,这些信息也会存储在临时文件中。
这就造成了安全隐患。

用户可以设置浏览器在关闭浏览器时删除临时文件,或手工删除。
但从网站开发者的角度讲,无法要求用户这样做。那么,如何满足这样的需求呢?
能不能控制浏览器不保存临时文件呢?

可以,HTTP协议1.1版中,规定了缓存的使用。其中,
Cache-Control: no-store
这个应答头可以满足我们的需要。

从协议中摘抄的部分内容:

no-store指令的用途是阻止不经意间释放或保存敏感信息(例如,在备份磁带上)。
no-store指令应用到整个消息,且[可以]在响应或请求中发送。 若在请求中发送,缓存[禁止]保存该请求或任何对其响应的任何部分。
若在响应中发送,缓存[禁止]保存该响应或引起的请求的任何部分。 该指令应用到非共享和共享缓存。
“[禁止]保存”在本处意味着缓存[禁止]在内部保存信息到固定存储器上,
且[必须]在转发后尽可能迅速且最有效地尝试从非固定存储器上删除该信息。

该指令的用途是满足关心通过非可预料地访问缓存数据结构意外释放信息的确定用户和服务作者的规定要求。
使用该指令可能在一些情况下改进私密性的同时,我们提醒它”并非”在任何方式下都是可靠或充分的机制来确保私密性。
特别是,恶意或妥协缓存可能不认识或服从该指令,且通过网络可能易受偷听。

nginx配置:

location /no-store/ {
    add_header Cache-Control no-store;
}

参考HTTP协议:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2

目录
相关文章
|
6月前
|
JavaScript 前端开发
X-Frame-Options头只能在web服务器里面设置吗?
X-Frame-Options头只能在web服务器里面设置吗?
267 0
|
Web App开发 存储 API
SAP Spartacus 用户登录成功后,Access Token 持久化到浏览器 local storage 的执行原理
SAP Spartacus 用户登录成功后,Access Token 持久化到浏览器 local storage 的执行原理
SAP Spartacus 用户登录成功后,Access Token 持久化到浏览器 local storage 的执行原理
如何找到cache-control header是从后台何处设置的
如何找到cache-control header是从后台何处设置的
如何找到cache-control header是从后台何处设置的
|
存储
SAP Spartacus 在未登录状态下浏览器 local storage 里存储的数据
SAP Spartacus 在未登录状态下浏览器 local storage 里存储的数据
SAP Spartacus 在未登录状态下浏览器 local storage 里存储的数据
browser-sync 同步浏览器与文件的指令
browser-sync 同步浏览器与文件的指令
83 0
browser-sync 同步浏览器与文件的指令
|
Web App开发 缓存
firefox设置每次访问时检查缓存
1.在firefox的地址栏上输入about:config回车2.找到browser.cache.check_doc_frequency选项,双击将3改成1保存即可。 选项每个值都是什么含义的。请看下面的解释:0: Once per session 每个进程一次 每次启动Firefox时检查1: ...
946 0
|
缓存 Android开发 iOS开发