使用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

目录
相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
4月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
297 0
|
1月前
|
Web App开发 缓存 安全
WIN11 Chrome 双击打不开闪退及Chrome浏览器不能拖拽文件crx
【11月更文挑战第6天】本文介绍了 WIN11 系统中 Chrome 浏览器双击打不开闪退及不能拖拽文件 crx 的原因和解决方法。包括浏览器版本过旧、扩展程序冲突、硬件加速问题、缓存过多、安全软件冲突、系统文件损坏、用户配置文件损坏等问题的解决方案,以及 crx 文件的屏蔽、权限问题和文件格式问题的处理方法。
131 2
|
1月前
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{"code":200,"ip":"175.154.88.178","browser":"Chrome","os":"Windows 10"}。详情见官网文档。
|
2月前
|
JavaScript 前端开发
|
3月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
166 2
|
4月前
|
Web App开发 JSON 数据格式
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
|
4月前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
|
4月前
|
JavaScript
VUE——如何兼容IE9|IE10|IE11浏览器
VUE——如何兼容IE9|IE10|IE11浏览器
168 0
VUE——如何兼容IE9|IE10|IE11浏览器
|
5月前
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
147 3