文章时间:2021年5月22日 01:46:08
解决问题:暂时不解决问题,整理一下这些头,具体的安全修复,建议站内搜索具体的头信息,找相对应的具体解决方案。
大佬教程:https://blog.csdn.net/flang6157/article/details/103287119
建议直接复制你自己需要的头参数,用ctrl+f进行搜索查询
该响应头中用于控制是否在浏览器中显示frame或iframe中指定的页面,主要用来防止Clickjacking(点击劫持)攻击。
DENY:不允许被任何页面嵌入,浏览器拒绝当前页面加载任何Frame页面;
SAMEORIGIN:不允许被本域以外的页面嵌入,只能加载入同源域名下的页面;
ALLOW-FROM uri:不允许被指定的域名以外的页面嵌入,只能被嵌入到指定域名的框架中(Chrome现阶段不支持);
X-Frame-Options 'SAMEORIGIN'
如果从script或stylesheet读入的文件的MIME类型与指定MIME类型不匹配,不允许读取该文件。用于防止XSS等跨站脚本攻击。
互联网上的资源有各种类型,通常浏览器会根据响应头的Content-Type字段来分辨它们的类型。例如:"text/html"代表html文档,"image/png"是PNG图片,"text/css"是CSS样式文档。然而,有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。
例如,我们即使给一个html文档指定Content-Type为"text/plain",在IE8-中这个文档依然会被当做html来解析。利用浏览器的这个特性,攻击者甚至可以让原本应该解析为图片的请求被解析为JavaScript。通过下面这个响应头可以禁用浏览器的类型猜测行为:
X-Content-Type-Options: nosniff
这个响应头是用来防范XSS的,现在主流浏览器都支持,并且默认都开启了XSS保护,用这个header可以关闭它。它有几种配置:
0:禁用XSS保护;
1:启用XSS保护;
1; mode=block:启用XSS保护,并在检查到XSS攻击时,停止渲染页面(例如IE8中,检查到攻击时,整个页面会被一个#替换);
对于指定的网址,X-Robots-Tag 可以用作 HTTP 标头响应中的一个元素。任何指令只要能够在漫游器元标记中使用,都可以指定为 X-Robots-Tag
X-Robots-Tag 'none';
》 用于控制当外部资源不可信赖时不被读取。用于防止XSS跨站脚本攻击或数据注入攻击(但是,如果设定不当,则网站中的部分脚本代码有可能失效)。
之前的字段名为X-Content-Security-Policy
Content-Security-Policy: default-src 'self'
用于指定当不能将“crossdomain.xml”文件(当需要从别的域名中的某个文件中读取Flash内容时用于进行必要设置的策略文件)放置在网站根目录等场合时采取的替代策略。
X-Permitted-Cross-Domain-Policies: master-only
用于通知浏览器只能使用HTTPS协议访问网站。用于将HTTP网站重定向到HTTPS网站。
通常简称为HSTS,是一个安全功能,它告诉浏览器只能通过HTTPS访问当前资源,而不是HTTP。当设置一个值(秒数)后,表示在浏览器收到这个请求后的多少秒内,凡是访问这个域名下的请求都使用HTTPS请求。
Strict-Transport-Security: max-age=31536000; includeSubDomains
当使用XMLHttpRequest从其他域名中获取资源进行跨域通信时使用。
Access-Control-Allow-Origin: http://www.example.com
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-TRICORDER
Access-Control-Max-Age: 1728000
上述代码用于设定与http://www.example.com
进行跨域通信处理,允许使用POST, GET, OPTIONS方法,在发送的请求头中添加X-TRICORDER字段,通信超时时间为1,728,00秒。
用于放置直接打开用户下载文件。
X-Download-Options: noopen
用于指定当不能将“crossdomain.xml”文件(当需要从别的域名中的某个文件中读取Flash内容时用于进行必要设置的策略文件)放置在网站根目录等场合时采取的替代策略
X-Permitted-Cross-Domain-Policies 'none';
用于设置Cookie。
Set-Cookie: name=value; secure; HttpOnly
Referrer Policy即引用策略,就是从一个页面发出请求时,是否在请求头部定义 Referrer 的设置。很多网站的防盗链机制都是用头部定义 Referrer 来判断是否是盗链。
Referrer-Policy "no-referrer";
指定浏览器的缓存方式,通过逗号分隔。
Cache-Control: no-cache, no-store, must-revalidate
用于与HTTP/1.0进行向后兼容的响应头字段,原本只被使用在客户端请求头中。与“Cache-Control: no-cache”结合使用。
pragma: no-cache
指定数据的有效时间。不希望缓存数据时可以将该字段值与Date字段值指定为相同值或者将该字段值指定为“-1”。
expires: -1
指定实体内对象的媒体类型(MediaType)。在charset关键字中指定文字编码格式。
content-type: text/html;charset=utf-8
add_header Strict-Transport-Security 'max-age=15552000';
add_header X-Content-Type-Options 'nosniff';
add_header X-Robots-Tag 'none';
add_header X-Frame-Options 'SAMEORIGIN';
add_header X-Download-Options 'noopen';
add_header X-Permitted-Cross-Domain-Policies 'none';
add_header X-XSS-Protection '1;mode=block';
add_header Referrer-Policy "no-referrer";