一些安全相关的HTTP header
1.Strict-Transport-Security
HTTP Strict-Transport-Security,简称为HSTS。
作用:允许一个HTTPS网站,要求浏览器总是通过HTTPS访问它。
strict-transport-security: max-age=16070400; includeSubDomains
- includeSubDomains,可选,用于指定是否作用于子域名
- 支持HSTS的浏览器遇到这个响应头,会把当前网站加入HSTS列表,然后在max-age指定的秒数内,当前网站所有请求都会被浏览器重定向为https。
- Chrome内置了一个HSTS列表,默认包含Google、Paypal、Twitter、Linode等服务。输入chrome://net-internals/#hsts,进入HSTS管理界面,可以增加/删除/查询HSTS记录。
2.X-Frame-Options:是否允许一个页面可在<frame>、<iframe>、<object>中展现的标记。
作用:减少/避免点击劫持 (clickjacking) 的攻击。
使用方式如下:
x-frame-options: SAMEORIGIN
响应头支持三种配置:
- DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
- SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。
- ALLOW-FROM uri:表示该页面可以在指定来源的 frame 中展示。
3.X-XSS-Protection
作用:防范XSS攻击。
PS:这个是旧属性,基本上可以被CSP取代,但是仍可以为还没有支持CSP的浏览器提供一层保护。
主流浏览器默认都开启了XSS保护。
使用方式如下:
X-XSS-Protection: 1; mode=block; report=/_/http-sec-report
支持配置:
- 0:禁止XSS保护
- 1:启用XSS保护:启用XSS保护,浏览器检测到XSS攻击会自动过滤非安全部分内容
- 1;mode=block:启用XSS保护,并在检测到XSS攻击的时候停止渲染页面
- 1;report=:启用XSS保护,检测到XSS攻击的时候,浏览器会自动过滤非安全内容,同时上报到指定URI。
4.X-Content-Type-Options
作用:禁用浏览器的Content-Type猜测行为。
背景:
浏览器通常会根据响应头Content-Type字段来分辨资源类型。有些资源的Content-Type是错的或者未定义。这时,浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。
利用这个特性,攻击者可以让原本应该解析为图片的请求被解析为JavaScript。
使用方法:
X-Content-Type-Options: nosniff
5.X-Content-Security-Policy(旧版)/Content-Security-Policy
作用:用于定义页面可以加载哪些资源,减少和上报XSS的攻击,防止数据包嗅探攻击。
响应头:
- Content-Security-Policy
- X-Content-Security-Policy
- X-Webkit-CSP
文章来源
https://article.itxueyuan.com/oZnRn

浙公网安备 33010602011771号