增加HTTP Response安全性的Headers

增加HTTP Response安全性的Headers

  • Cache Control(缓存控制)

假设你刚刚查询完自己的敏感信息,然后点击退出按钮,没有关闭浏览器出去了。恶意用户可以通过点击浏览器的返回按钮返回到刚才敏感信息页面。

你应该从响应头(HTTP Response Headers)中添加

1
2
3
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
  • Content Type Options(内容类型设置)

​ 一些浏览器(包括IE浏览器)会尝试使用内容嗅探来猜测请求的内容类型。这允许浏览器通过猜测未指定内容类型的资源上的内容类型来改善用户体验。例如,如果浏览器遇到未指定内容类型的 JavaScript 文件,它将能够猜测该内容类型,然后运行它。内容嗅探的问题在于这允许恶意用户使用多语言(即作为多种内容类型有效的文件)来执行 XSS 攻击。例如,某些网站可能允许用户向网站提交有效的 postscript 文档并进行查看。恶意用户可能会创建一个也是有效 JavaScript 文件的 postscript 文档并使用它执行 XSS 攻击 。

禁止文件类型嗅探的header:

1
X-Content-Type-Options: nosniff
  • HTTP Strict Transport Security (HSTS)

​ 当您输入银行网站时,您是输入www.icbc.com.cn 还是输入https://www.icbc.com.cn?如果省略 https 协议,则可能容易受到中间人攻击。即使网站重定向到 https://www.icbc.com.cn ,恶意用户也可以拦截初始 HTTP 请求并操纵响应(例如,重定向到 www.icbc1.com.cn 并窃取他们的凭据)。

​ 许多用户省略了https协议,这就是创建HTTP Strict Transport Security(HSTS)的原因。一次 www.icbc.com.cn 被添加为HSTS主机,浏览器可以提前知道对www.icbc.com.cn的任何请求应解释为https://www.icbc.com.cn。这大大降低了发生中间人攻击的可能性。

未完待续

  • HTTP Public Key Pinning (HPKP)

  • X-Frame-Options

- To Be Continue


增加HTTP Response安全性的Headers
https://blog.lijun816.cn/code/web/secrity/http_request_header_secrity/
作者
李军
发布于
2022年10月13日
许可协议