今天突然发现广告过滤失效了,然后开始排查问题,最后发现是 ublock 搞事情,把网络广告脚本重定向到扩展内部实现,导致本来应该被屏蔽的脚本重新运行了
这是抓的日志
Request URL: https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
Request Method: GET
Status Code: 307 Internal Redirect
Referrer Policy: strict-origin-when-cross-origin
Location: chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/web_accessible_resources/ googlesyndication_adsbygoogle.js?secret=ul2441
Non-Authoritative-Reason: WebRequest API
去扫了眼源码,关键的部分在这里
https://github.com/gorhill/uBlock/blob/master/src/js/redirect-engine.js
这个事往好处想,如果我没屏蔽广告,那么网络版换成本地版可以减少网络请求,少泄露隐私;不过,如果本来就在过滤列表里,这又给放出来了,不是成了内置白名单
这个「特性」暂时找不到关闭的地方,不知道怎么办了
1
billlee 2021-07-12 19:49:23 +08:00 2
这个是重定向到一个假接口,不会真的请求广告的。
如果出现了广告,可以向 ublock origin 报 bug. |
2
autoxbc OP |
3
fang5566 2021-07-13 07:12:29 +08:00 via Android
添加为白名单试试。或者在选项设置启动规则列表里面看看是不是勾选了 unlock experiment filters
|
4
fang5566 2021-07-13 07:22:30 +08:00 via Android 1
https://github.com/fang5566/uBlock/wiki/%E9%9D%99%E6%80%81%E8%BF%87%E6%BB%A4%E8%A7%84%E5%88%99%E8%AF%AD%E6%B3%95#redirect
GitHub 中文版有解释 redirect 规则,用于重定向,作者很可能是设置了 Google syndication 脚本重定向到内部定义的一个空脚本,是中立版本。 |
5
autoxbc OP @fang5566 #4
没有找到 unlock experiment filters,不过在 assets/ublock/filters.txt 里面看到这条 ||pagead2.googlesyndication.com/pagead/js/adsbygoogle.js$script,redirect-rule=googlesyndication_adsbygoogle.js 等于是把这条重定向应用到所有的过滤过程,可能反过滤的网站太多,维护者已经懒得给这条规则加 domain 限定 按照您指引的教程写了条白名单规则,禁用扩展的全部重定向,是我要的效果了 @@*$all,redirect-rule |