api - 保护 chrome 扩展中公开的 API

标签 api security google-chrome-extension

当前状态:

我正在开发一个 chrome 扩展。我的扩展程序向我的网络服务器发出请求并显示获取的结果。

缺点:

  1. 我正在公开我的 API,因此任何第三方(不一定是扩展程序的所有者)都可以在我的服务器上发出大量请求。这将允许他访问我的所有数据
  2. 如果通过机器人程序非常频繁地发出请求,这也会导致我的服务器崩溃。

那么,有什么方法可以授权对相应服务器句柄的请求仅通过 chrome 扩展。可以通过设置一些 cookie 并在发送结果之前检查它们来完成吗?

谢谢!

最佳答案

不,您不能确保只有您的 Chrome 扩展程序在发出请求。一旦您的代码离开您的控制(即客户拥有它),就无法保证它不会被篡改或反向工程。不过,您可以做的是让用户在访问您的 API 之前先登录。

通过身份验证,您并没有验证用户是否在使用您的 Chrome 扩展程序,但如果您的服务器成为大流量的主题,您确实需要将某人列入黑名单。您可以让 chrome 扩展程序的用户一次创建一个帐户,然后该扩展程序可以将这些凭据与每个请求一起发送到您的服务器。

您可能会想尝试嵌入 secret token 或密码之类的方法,但这只会阻止懒惰的攻击者。此外,它可能会给您一种虚假的安全感。如果您担心拒绝服务攻击,请使用身份验证。

关于api - 保护 chrome 扩展中公开的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706875/

相关文章:

c# - 如何在 .net 和 IIS 中启动具有受限权限的 native 进程

google-chrome-extension - 如何读取和修改任意页面的内容?

node.js - Node.js 中的 MVC 对于开发 Restful api 重要吗?

security - OAuth 1.0a,2 足 : how do you securely store clients' credentials (keys/secrets)?

javascript - 获取当前用户在 Discord 服务器中的角色

Windows 10 安全存储

google-chrome - Chrome 扩展创建新标签并将消息从 popup.js 发送到新标签的内容脚本

javascript - chrome.idle 在 chrome 扩展中未定义

api - Telegram Bot API 错误代码(集成群组和 channel )

javascript - 如何检查用户是否在 <select> 中选择了某个属性并将其添加到搜索查询中?