【问题标题】:chrome.webRequest API Blacklistchrome.webRequest API 黑名单
【发布时间】:2012-09-20 09:13:49
【问题描述】:

在 Chromium 代码源中哪里可以找到有关 webRequest API 的黑名单?

webRequest API 仅公开扩展程序具有的请求 鉴于其主机权限,允许查看。此外,只有 可以访问以下方案:http://、https://、ftp://、file://、 或 chrome-extension://。此外,即使是某些带有 URL 的请求 使用上述方案之一是隐藏的,例如, chrome-extension://other_extension_id where other_extension_id 不是 处理请求的扩展 ID, https://www.google.com/chrome 和其他人(此列表不完整)。

来源:https://developer.chrome.com/extensions/webRequest.html#life_cycle_footnote

【问题讨论】:

    标签: google-chrome-extension webrequest


    【解决方案1】:
    1. 实施:chromium/src/chrome/browser/extensions/api/web_request/web_request_permissions.cc
    2. 单元测试:chromium/src/chrome/browser/extensions/api/web_request/web_request_permissions_unittest.cc

    以下 URL 被列入黑名单(模式可以来自源代码和/或单元测试):

          "http://clients2.google.com",
          "http://clients22.google.com",
          "https://clients2.google.com",
          "http://clients2.google.com/service/update2/crx",
          "https://clients.google.com",
          "https://test.clients.google.com",
          "https://clients2.google.com/service/update2/crx",
          "http://www.gstatic.com/chrome/extensions/blacklist",
          "https://www.gstatic.com/chrome/extensions/blacklist",
          "notregisteredscheme://www.foobar.com"
    

    【讨论】:

    • 有趣的是,源代码中没有提到google.com/chrome。此 URL 重定向到 google.com/intl/nl/chrome/browser可以被阻止(测试用例:pastebin.com/11yWxaiZ)。此外,并非单元测试中的所有 URL 都不受我的演示的影响,这可能表明黑名单的执行不是防水的。
    • 感谢您的回答。看起来 declarativeWebRequest API 也使用了 web_request_permissions。
    猜你喜欢
    • 2015-12-03
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    相关资源
    最近更新 更多