You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何限制部分Chrome扩展程序访问或修改含敏感数据的特定页面?

如何限制Chrome扩展访问特定页面

当然可以搞定!Chrome本身就提供了好几套原生方案来控制扩展对特定页面的访问权限,哪怕你没接触过Chrome开发,也能轻松操作或者跟着配置实现。下面分不同场景给你拆解:

1. 给扩展配置精准权限(适合自己开发/修改扩展)

如果你是自己做的扩展,或者能拿到扩展代码修改,直接在manifest.json里就能精准控制它能访问的页面:

  • 锁定允许访问的域名:扩展的host_permissions字段可以指定它仅能访问的域名,没列出来的页面(比如你的银行、邮箱)它就碰不到。举个例子:
    {
      "manifest_version": 3,
      "host_permissions": ["https://example.com/*"]
    }
    
  • 动态申请/收回权限:如果扩展需要临时访问某些页面,可以用chrome.permissions.request() API让用户手动授权,之后也能用chrome.permissions.remove()收回对特定页面的权限,灵活性很高。

2. 用Chrome原生设置直接限制(无需写代码)

要是你用的是第三方扩展,不想碰代码,直接在Chrome设置里就能搞定:

  • 打开Chrome的扩展管理页(地址栏输入chrome://extensions/回车就行)
  • 找到你要限制的扩展,点「详细信息」
  • 往下滑到「网站访问权限」,选「在特定网站上」
  • 然后添加允许访问的网站,或者直接加要阻止的敏感页面,Chrome会自动拦着扩展访问这些页面

3. 控制Content Script的注入范围(针对需要插脚本的扩展)

有些扩展是靠Content Script往页面里插代码来工作的,你可以在manifest.jsoncontent_scripts里设置规则,让它只在指定页面运行:

{
  "content_scripts": [
    {
      "matches": ["https://example.com/*"],
      "js": ["content.js"]
    }
  ]
}

要是想排除敏感页面,就用exclude_matches字段:

{
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "exclude_matches": ["https://your-bank-site.com/*", "https://your-email.com/*"],
      "js": ["content.js"]
    }
  ]
}

关于API支持的说明

现在Chrome用的Manifest V3(官方标准版本)完全支持上面所有权限控制方式,而且相比旧版V2,权限管理更严格,对用户隐私保护更好。所以你完全不用担心API不支持的问题,这些都是官方原生提供的能力。

如果你是新手,先从Chrome原生设置入手(第二种方法),不用写代码就能快速限制扩展访问敏感页面;要是想自己开发扩展,先从Manifest的host权限配置开始,这是最基础也最有效的方式。

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

火山引擎 最新活动