点击劫持(Clickjacking)是攻击者用透明 iframe 把目标站点覆盖在诱饵页面上,诱导用户在不知情时点击了隐藏页面上的按钮(如"关注""转账"),属于 UI 层面的欺骗攻击。

防御核心是禁止或限制页面被第三方站点嵌套:1)CSP 的 frame-ancestors 指令(现代方案):Content-Security-Policy: frame-ancestors 'self',可精确指定允许嵌入的来源;2)X-Frame-Options 响应头(旧方案,兼容性兜底):DENY 禁止一切嵌入,SAMEORIGIN 仅允许同源。两者同时下发,浏览器优先采用 frame-ancestors。

Content-Security-Policy: frame-ancestors 'self'
X-Frame-Options: SAMEORIGIN

易错点:X-Frame-Options 不支持多域名白名单,精细控制必须用 CSP;历史上的 JS frame-busting 可被 sandbox 绕过,不应依赖。追问方向:与 CSRF 的关系(点击劫持可视为可视化的 CSRF)。