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 中展示。
相关推荐
CT随2 分钟前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
s_fox_28 分钟前
Nginx Embedded Variables 嵌入式变量解析(4)
java·网络·nginx
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
HUNAG-DA-PAO2 小时前
Redis存在线程安全吗?为什么?
redis·安全·php
黑客KKKing5 小时前
(网络安全)渗透测试
网络·安全·web安全·电脑
Lxyand16 小时前
网工项目实践2.4 北京公司安全加固、服务需求分析及方案制定
运维·服务器·网络·安全·智能路由器
livefan9 小时前
油田安全系统:守护能源生命线的坚固壁垒
网络·安全
招风的黑耳11 小时前
使用Nginx本地部署Axure生成的HTML文件,局域网内浏览器通过IP和地址访问
nginx·html·axure·本地部署
csbDD12 小时前
2025年网络安全(黑客技术)三个月自学手册
linux·网络·python·安全·web安全
s_fox_13 小时前
nginx ngx_http_module(7) 指令详解
运维·nginx·http