当前状态:
我正在开发一个 chrome 扩展。我的扩展程序向我的网络服务器发出请求并显示获取的结果。
缺点:
- 我正在公开我的 API,因此任何第三方(不一定是扩展程序的所有者)都可以在我的服务器上发出大量请求。这将允许他访问我的所有数据
- 如果通过机器人程序非常频繁地发出请求,这也会导致我的服务器崩溃。
那么,有什么方法可以授权对相应服务器句柄的请求仅通过 chrome 扩展。可以通过设置一些 cookie 并在发送结果之前检查它们来完成吗?
谢谢!
最佳答案
不,您不能确保只有您的 Chrome 扩展程序在发出请求。一旦您的代码离开您的控制(即客户拥有它),就无法保证它不会被篡改或反向工程。不过,您可以做的是让用户在访问您的 API 之前先登录。
通过身份验证,您并没有验证用户是否在使用您的 Chrome 扩展程序,但如果您的服务器成为大流量的主题,您确实需要将某人列入黑名单。您可以让 chrome 扩展程序的用户一次创建一个帐户,然后该扩展程序可以将这些凭据与每个请求一起发送到您的服务器。
您可能会想尝试嵌入 secret token 或密码之类的方法,但这只会阻止懒惰的攻击者。此外,它可能会给您一种虚假的安全感。如果您担心拒绝服务攻击,请使用身份验证。
关于api - 保护 chrome 扩展中公开的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706875/