仅从chrome扩展安全访问api

Secure access to api only from chrome extension

本文关键字:访问 api 安全 扩展 chrome 仅从      更新时间:2023-09-26

我正在研究允许chrome扩展通过发布数据向我的网站发布新条目。

我想能够锁定它,这样只有铬扩展可以张贴。如果我从其他任何地方得到邮件数据,我想拒绝它。

有人知道这是否/如何可能,或者你会如何做吗?

不幸的是,从web服务器验证客户端(无论是Chrome扩展、Android应用程序、iOS应用程序、客户端JavaScript还是其他客户端)都是一个未解决的问题。

你可以做一些事情来阻止滥用并缓解这个问题,例如:

  • 需要用户身份验证(以及每个用户的使用率限制)
  • 基于IP地址的速率限制访问
  • 要求提供在先前请求中分发的令牌(这可用于确保在某些预期顺序/模式中调用某些API)
  • 显示CAPTCHA或其他异常或超限使用的挑战

虽然你可以使用任何分布式应用程序额外检查用户代理、推荐人URL或嵌入Chrome扩展中的令牌等内容,但很容易对这些内容进行逆向工程,并在假冒应用程序中模仿它们,因此这些都不是真正的解决方案。

您可以在代码中添加一个简单的检查。

以下代码阻止任何试图访问chrome扩展之外的api的人。

if(substr($_SERVER['HTTP_ORIGIN'],0,19) !== "chrome-extension://") die("Not Allowed")