Bootstrap

web漏洞-缺少X-Frame-Options标头

"缺少 X-Frame-Options 头" 意味着你的网站或 web 应用程序在 HTTP 响应头中没有设置 X-Frame-Options 头字段。X-Frame-Options 是一个安全相关的 HTTP 响应头,用于防止点击劫持攻击(Clickjacking)。

点击劫持攻击是一种利用透明的 iframe(内嵌框架)覆盖在一个看似正常的网页上的攻击方法,从而欺骗用户执行恶意操作,比如点击一个看似无害的按钮,但实际上却在隐藏的 iframe 中执行了恶意操作。通过设置适当的 X-Frame-Options 头,你可以阻止你的网站被嵌套在其他网站的 iframe 中,从而减少点击劫持的风险。

x-frame-options头信息的详细介绍可以查看mozilla firefox官方文档:X-Frame-Options - HTTP | MDN

X-Frame-Options 头有三个可能的值

  1. DENY:完全拒绝在 iframe 中显示页面,不管是同源的还是非同源的。
  2. SAMEORIGIN:允许在同源的情况下在 iframe 中显示页面。
  3. ALLOW-FROM uri:允许在特定来源的情况下在 iframe 中显示页面。这个值不太常用,因为现代浏览器不再支持它,取而代之的是 Content Security Policy(CSP)。

示例,在 Express.js 中设置 X-Frame-Options 头:

app.use((req, res, next) => { res.setHeader("X-Frame-Options", "DENY"); // 设置 X-Frame-Options 头为 DENY next(); });

或者在 Nginx 中:

add_header X-Frame-Options DENY;

确保设置适当的 X-Frame-Options 头可以帮助你保护你的网站免受点击劫持攻击。同时,还可以结合其他安全措施,比如 Content Security Policy(CSP),来进一步提高你的网站的安全性。

;