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 中展示。
相关推荐
bearpping4 小时前
Nginx 配置:alias 和 root 的区别
前端·javascript·nginx
云道轩9 小时前
deepseek对 Oracle Fusion Cloud Applications 安全的分析
安全·fusion
未知鱼9 小时前
Python安全开发之子域名扫描器(含详细注释)
网络·python·安全·web安全·网络安全
志栋智能10 小时前
超自动化巡检:应对复杂IT环境的必然选择
运维·网络·安全·web安全·自动化
肠胃炎10 小时前
挂载方式部署项目
服务器·前端·nginx
上海云盾-小余11 小时前
云主机安全加固:从系统、网络到应用的零信任配置
网络·安全·php
我叫果冻12 小时前
ai-assist:基于 LangChain4j 的 RAG 智能助手,本地化部署更安全
人工智能·安全
努力的lpp12 小时前
2024小迪安全课程第四节复习笔记
笔记·安全
菜根Sec13 小时前
网络安全冬天怎么过
安全·web安全·网络安全·网络安全公司
曲幽14 小时前
FastAPI实战:WebSocket vs Socket.IO,这回真给我整明白了!
python·websocket·nginx·socket·fastapi·web·async·socketio