Chrome 扩展(插件) 开发教程

    官方中文版教程

    Blog

    Github

    官方中文版教程

    Blog

    Github

    ## # 保护用户隐私 如果扩展程序损害了他们的隐私或要求提供需要的更多权限,则用户将不会安装该扩展程序。权限请求应对用户有意义,并且限于实现扩展所需的关键信息。 收集或传输任何用户数据的扩展必须遵守用户数据隐私策略。 通过包括以下预防措施来保护和尊重用户,以确保其身份安全。切记:扩展可以访问的数据越少,意外泄漏的数据就越少。 ### # 减少所需的权限 扩展可以访问的 API 在 manifest 的权限字段中指定。赋予的权限越多,攻击者拦截信息的途径就越多。 仅列出扩展所依赖的 API,并应考虑侵入性较小的选项。扩展程序请求的权限越少,向用户显示的权限警告就越少。用户更有可能安装带有有限警告的扩展程序。 扩展不应通过请求用户当前不需要但将来可能会实现的权限来 “未来证明” 对用户数据的访问。在扩展更新中包含新权限,并考虑将其设为可选。 #### # activeTab 使用 host 权限注入脚本的扩展通常可以被 activeTab 代替。仅当用户调用扩展时,activeTab 权限才会授权扩展对当前活动选项卡的临时访问权限。当用户离开或关闭当前选项卡时,访问被切断。 它是 < all_urls > 的许多用途的替代方法。
    1. {
    2. "name": "Very Secure Extension",
    3. "version": "1.0",
    4. "description": "Example of a Secure Extension",
    5. "permissions": ["activeTab"],
    6. "manifest_version": 2
    7. }
    在安装过程中,activeTab 权限不显示任何警告消息。 ### # 选择可选权限 通过包含可选权限,使用户能够从扩展中选择所需的功能和权限。如果某个功能对于扩展程序的核心功能不是必需的,请将其设为可选,然后将 API 或域名移至 optional_permissions 字段中。
    1. {
    2. "name": "Very Secure Extension",
    3. "optional_permissions": [ "tabs", "https://www.google.com/&#34; ],
    4. }
    可选权限可以使扩展向用户解释启用相关功能时为何需要特定权限。该扩展可以为用户提供启用功能的选项。 enable_html 单击确定!将在后台脚本中触发以下事件。
    1. document.querySelector('#button').addEventListener('click', function(event) {
    2. // Permissions must be requested from inside a user gesture, like a button's
    3. // click handler.
    4. chrome.permissions.request({
    5. permissions: ['tabs'],
    6. origins: ['https://www.google.com/&#39;]
    7. }, function(granted) {
    8. // The callback argument will be true if the user granted the permissions.
    9. if (granted) {
    10. // doSomething();
    11. } else {
    12. // doSomethingElse();
    13. }
    14. });
    15. });
    然后,将向用户提示以下请求。 enable_permissions 也可以在扩展更新中实现。 这样做将使用户可以使用该新功能,而无需禁用该扩展,如果使用新的所需权限进行更新,可能会发生这种禁用的情况。 ### # 限制和加密用户信息 仅请求扩展所需的最少用户数据。扩展程序向用户询问的信息越少,意味着扩展程序受到威胁时所面临的风险就越小。 所有请求的用户数据都应谨慎对待。在具有注册域的安全服务器中存储和检索数据。始终使用 HTTPS 进行连接,并避免将敏感的用户数据保留在扩展的客户端中,因为扩展存储未加密。 - - - 关注 微信公众号「程序化思维」 获取最新 Chrome 插件开发教程。 mp_wechat 达到最佳性能 调试扩展