V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
collen
V2EX  ›  程序员

QX 求教

  •  
  •   collen · 296 天前 · 1101 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://obs.line-scdn.net/ 这个域名下的正常图片和广告图片混合在一起了,如果屏蔽整个域名的话正常的图片就看不到了,

    但是我仔细对比发现响应标头 Access-Control-Allow-Headers: x-obs-params, Content-Type, x-ladm-obs, x-ladm-obs-id, x-ladm-obs-jwt, x-ladg-obs 广告里面有 6 个,

    正常图片的 Access-Control-Allow-Headers: x-obs-params, Content-Type, 只有 2 个, QX 可以通过请求的响应标头来屏蔽这个请求吗

    pinkbook
        1
    pinkbook  
       296 天前
    应该可以吧,qx 重写功能
    1018ji
        2
    1018ji  
       296 天前
    要不你就匹配下 header

    要不你就上 script
    collen
        3
    collen  
    OP
       296 天前
    我用重写规则,script-response-header

    ^https:\/\/obs\.line-scdn\.net\/[\w\/\-_]


    下面是我的脚本
    /**
    * @fileoverview 修改响应头以返回 404 状态,如果发现特定的响应头字段。
    *
    * [rewrite_local]
    * ^https:\/\/obs\.line-scdn\.net.* url script-response-header your-script-name.js
    */

    // 确保$response 对象存在
    if ($response) {
    console.log($response)
    var modifiedHeaders = $response.headers;
    var modifiedStatus = $response.status;

    // 定义需要检查的响应头字段
    var checkHeaders = ["x-ladm-obs", "x-ladm-obs-id", "x-ladm-obs-jwt", "x-ladg-obs"];

    // 检查是否存在任一特定响应头字段
    var shouldBlock = checkHeaders.some(header => modifiedHeaders && modifiedHeaders[header]);

    if (shouldBlock) {
    // 修改状态为 404
    modifiedStatus = "HTTP/1.1 404 Not Found";
    }

    // 返回修改后的响应
    $done({status: modifiedStatus, headers: modifiedHeaders});
    } else {
    // 如果$response 不存在,返回原始响应
    $done({});
    }

    但是一点不生效,不知道为什么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.