仅通过chrome扩展程序安全访问api

时间:2015-03-22 09:36:10

标签: javascript google-chrome-extension

我正在努力允许Chrome扩展程序通过帖子数据向我的网站发布新条目。

我希望能够将其锁定,以便只有Chrome扩展程序可以发布。如果我从其他任何地方发布数据我想拒绝它。

有谁知道这是否可行或如何做到这一点?

2 个答案:

答案 0 :(得分:2)

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

您可以采取一些措施来阻止滥用并缓解此问题,例如:

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

虽然您可以使用任何分布式应用程序另外检查用户代理,引荐来源网址或嵌入Chrome扩展程序中的令牌等内容,但很容易对这些内容进行反向工程并在假冒应用中模仿它们,所以这些都不是真正的解决方案。

答案 1 :(得分:0)

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

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

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