仅从chrome扩展安全访问api
Secure access to api only from chrome extension
我正在研究允许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")
相关文章:
- 使用Oauth使用Javascript访问Api
- 使用JSONP访问维基百科API
- 将JSON传递给Jade,并使用相同的数据进行API访问
- 仅从chrome扩展安全访问api
- 从Chrome扩展访问API
- Nodejs/Expressjs 请求在访问 API 时返回 404
- 使用 Firefox 访问 API 时收到 restdb.io 错误
- 在非 IE 浏览器中访问 API 方法
- 使用 es6 模块制作可访问 api 的最佳方式
- 保存和访问 API 会导致 Chrome 扩展程序中出现一个变量
- 可以't正确访问API的响应
- 从React App访问API的最佳方式
- 通过JavaScript访问API
- 没有& # 39;Access-Control-Allow-Origin& # 39;头文件,但无法访问API
- 我如何访问API数据(Python,请求)在我的HTML表的特定单元格
- 从本地服务器访问API
- 访问API的客户端AJAX请求的安全性
- 尝试使用http访问API时出错.进入node.js
- 如何从任何网络使用不同的端口访问api
- 我可以在没有JavaScript身份验证的情况下访问API吗