You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JS客户端与VBScript服务端,如何防范ClickJacking攻击?

防范ClickJacking攻击的实操方案(JS客户端 + VBScript服务端)

一、X-Frame-Options响应头的选择与配置

X-Frame-Options是防范ClickJacking的核心HTTP头,三个可选值对应不同场景:

  • DENY:禁止任何页面将你的网站嵌入iframe,是最严格的限制,适合无需被其他页面内嵌的场景。
  • SAMEORIGIN:仅允许同域名下的页面嵌入你的网站,适合有同域内嵌需求的场景。
  • ALLOW-FROM uri:仅允许指定域名的页面嵌入,但该值兼容性极差(多数现代浏览器已不再支持),不推荐使用。

在VBScript服务端(如ASP)的配置方法

直接在服务端代码中添加响应头,建议放在全局公共文件(比如global.asa或通用包含文件)中,确保所有页面都能生效:

Response.AddHeader "X-Frame-Options", "DENY"
' 若需同域内嵌,替换为:
' Response.AddHeader "X-Frame-Options", "SAMEORIGIN"

二、完整防护步骤

仅靠响应头无法覆盖所有场景,需结合以下措施形成完整防护:

  1. 添加Frame Busting JavaScript代码
    针对不支持X-Frame-Options的老旧浏览器,在客户端JS中加入检测逻辑,发现页面被嵌入iframe时强制跳出:
if (top !== self) {
    top.location.href = self.location.href;
}

为应对攻击者劫持window.top的绕过手段,可强化代码:

(function() {
    const preventClickjack = () => {
        if (top !== self) {
            document.body.innerHTML = '';
            top.location.href = self.location.href;
        }
    };
    if (document.addEventListener) {
        document.addEventListener('DOMContentLoaded', preventClickjack);
    } else {
        window.attachEvent('onload', preventClickjack);
    }
})();
  1. 配置Content-Security-Policy(CSP)的frame-ancestors指令
    这是X-Frame-Options的现代替代方案,功能更灵活且兼容性更好,建议与X-Frame-Options配合使用,兼顾新老浏览器:
' 禁止所有嵌入,等效于X-Frame-Options: DENY
Response.AddHeader "Content-Security-Policy", "frame-ancestors 'none'"
' 仅允许同域嵌入,等效于X-Frame-Options: SAMEORIGIN
' Response.AddHeader "Content-Security-Policy", "frame-ancestors 'self'"
' 允许指定多个可信域名嵌入
' Response.AddHeader "Content-Security-Policy", "frame-ancestors https://trusted-domain.com https://another-trusted.com"
  1. 敏感操作额外验证
    对于登录、支付、用户信息修改等高危操作,补充以下防护:
  • 要求用户输入验证码或进行二次确认
  • 使用CSRF令牌,确保请求来自你的网站
  • 校验请求的Referer头(虽非绝对可靠,但可作为补充验证)
  1. 关闭非必要的内嵌能力
    除非有明确业务需求,否则禁止网站页面提供可被嵌入的功能;若必须内嵌,需严格控制可信域名白名单。

内容的提问来源于stack exchange,提问作者Anindya Biswas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:55:54