nginx-安全防护、跨域、XSS攻击、点击劫持攻击

通过nginx失效安全防护

防止跨域-请求头Content-Security-Policy

CSP配置

add_header Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' blob: data: ;";

CSP参数解释

  • default-src 'self':不允许跨源,所有内容均来自网站的自己的域
  • 'unsafe-inline':允许加载 inline 资源,例如style属性、onclick、inline js、inline css等
  • 'unsafe-eval':允许加载动态 js 代码,例如 eval()
  • blob: :允许浏览器中创建和处理二进制数据,Blob对象是一种二进制数据类型,通常,Blob对象用于在浏览器中处理大量的数据或文件
  • data: :允许加载 data: 协议,例如:base64编码的图片

CSP指令

指令值 说明
* 允许加载任何内容
'none' 不允许加载任何内容
'self' 允许加载相同源的内容
www.a.com 允许加载指定域名的资源
*.a.com 允许加载 a.com 任何子域名的资源
https://a.com 允许加载 a.com 的 https 资源
https: 允许加载 https 资源
data: 允许加载 data: 协议,例如:base64编码的图片
'unsafe-inline' 允许加载 inline 资源,例如style属性、onclick、inline js、inline css等
'unsafe-eval' 允许加载动态 js 代码,例如 eval()

防止跨站脚本攻击(XSS)-请求头X-Xss-Protection

配置

add_header X-Xss-Protection "1;mode=block";

解释

如果页面中检测到跨站脚本攻击(XSS),浏览器将关闭脚本执行,并显示一个安全提示消息,而不是执行恶意脚本。

跨站脚本攻击(XSS)-请求头X-Content-Type-Options

配置

add_header X-Content-Type-Options nosniff;

解释

当服务器发送一个不包含Content-Type头的响应时,一些浏览器会尝试猜测响应内容的类型。这被称为"sniffing"。

nosniff选项告诉浏览器不要尝试这种猜测,而是始终按照响应的Content-Type头来处理内容。这可以防止某些类型的跨站脚本攻击(XSS)。

防止点击劫持攻击-请求头X-Frame-Options

配置

add_header X-Frame-Options SAMEORIGIN;

解释

用于控制页面是否允许在iframe、embed或object中嵌入。

  • SAMEORIGIN:只允许在相同域名的页面中嵌入。
  • DENY:不允许在任何页面中嵌入。
  • ALLOW-FROM uri:这是一个被弃用的指令,不再适用于现代浏览器,请不要使用它。在支持旧版浏览器时,页面可以在指定来源的 frame 中展示。
相关推荐
*郑*42 分钟前
nginx配置反向代理后端
运维·nginx
安 当 加 密1 小时前
hashicorp vault机密管理系统的国产化替代:安当SMS凭据管理系统,量子安全赋能企业密钥管理
安全
霍志杰4 小时前
网址为 http://xxx:xxxx/的网页可能暂时无法连接,或者它已永久性地移动到了新网址
nginx
hnlucky5 小时前
《基于 Kubernetes 的 WordPress 高可用部署实践:从 MariaDB 到 Nginx 反向代理》
运维·数据库·nginx·云原生·容器·kubernetes·mariadb
python算法(魔法师版)5 小时前
API安全
网络·物联网·网络协议·安全·网络安全
GIS数据转换器5 小时前
当三维地理信息遇上气象预警:电网安全如何实现“先知先觉”?
人工智能·科技·安全·gis·智慧城市·交互
网易易盾5 小时前
AIGC时代的内容安全:AI检测技术如何应对新型风险挑战?
人工智能·安全·aigc
w23617346015 小时前
识别安全网站,上网不再踩坑
安全
一刀到底2115 小时前
做为一个平台,给第三方提供接口的时候,除了要求让他们申请 appId 和 AppSecret 之外,还应当有哪些安全选项,要过等保3级
java·网络·安全
铁锚7 小时前
一个WordPress连续登录失败的问题排查
java·linux·服务器·nginx·tomcat