nginx 安全配置

add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options: nosniff;
add_header Content-Security-Policy "default-src 'self' ";
add_header X-Xss-Protection 1;
X-Frame-Options

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

X-Frame-Options 有三个值:

DENY

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN

表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri

表示该页面可以在指定来源的 frame 中展示。
换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

X-Content-Type-Options

用来指定浏览器对未指定或错误指定 Content-Type 资源真正类型的猜测行为,nosniff 表示不允许任何猜测,互联网上的资源有各种类型,通常浏览器会根据响应头的Content-Type字段来分辨它们的类型。例如:"text/html"代表html文档,"image/png"是PNG图片,"text/css"是CSS样式文档。然而,有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。

Content-Security-Policy

主要是用来定义页面可以加载哪些资源,减少 XSS 的发生。

具体介绍
https://imququ.com/post/content-security-policy-reference.html

X-Xss-Protection

顾名思义,这个响应头是用来防范XSS的。最早我是在介绍IE8的文章里看到这个,现在主流浏览器都支持,并且默认都开启了XSS保护,用这个header可以关闭它。它有几种配置:

0:禁用XSS保护;
1:启用XSS保护;
1; mode=block:启用XSS保护,并在检查到XSS攻击时,停止渲染页面(例如IE8中,检查到攻击时,整个页面会被一个#替换);
浏览器提供的XSS保护机制并不完美,但是开启后仍然可以提升攻击难度,总之没有特别的理由,不要关闭它。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • X-Frame-Options X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否...
    虚心的锄头阅读 880评论 0 0
  • HTTP协议的请求和响应报文中必定包含HTTP首部,只是我们平时在使用web的过程中感受不到它。本章我们一起来学习...
    赵玉华_ac38阅读 692评论 0 0
  • 前言 “安全”是个很大的话题,各种安全问题的类型也是种类繁多。如果我们把安全问题按照所发生的区域来进行分类的话,那...
    莫小耿阅读 1,042评论 0 2
  • 使用以下HTTP头部可帮你快速容易地预防XSS攻击、点击挟持攻击、MIME嗅探和中间人攻击。如果目前还没使用,通过...
    牧童US阅读 1,808评论 0 0
  • Nginx 与安全有关的几个配置 安全无小事,安全防范从 nginx 配置做起 本文转载来源:https://bl...
    runewbie阅读 279评论 0 0

友情链接更多精彩内容