在 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 可以通过请求的响应标头来屏蔽这个请求吗
1
pinkbook 323 天前
应该可以吧,qx 重写功能
|
2
1018ji 323 天前
要不你就匹配下 header
要不你就上 script |
3
collen OP 我用重写规则,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({}); } 但是一点不生效,不知道为什么 |