Google chrome extension 识别Chrome扩展提出的请求?

Google chrome extension 识别Chrome扩展提出的请求?,google-chrome-extension,xmlhttprequest,Google Chrome Extension,Xmlhttprequest,我有一个web应用程序,它有一些非常直观的URL,因此人们编写了一些Chrome扩展,使用这些URL向我们的服务器发出请求。不幸的是,这些扩展为我们解决了一些问题,比如敲打我们的服务器、发出错误的请求等等,所以我们正在试图找出如何阻止它们,或者至少让我们难以向服务器发出请求,以阻止这些扩展被使用(我们提供了一个他们应该使用的API) 我们已经尝试在请求中添加一些自定义头,在响应中添加垃圾json前导,但是扩展作者已经更新了他们的代码以匹配 我不熟悉chrome扩展,那么他们对主机页有什么样的访问

我有一个web应用程序,它有一些非常直观的URL,因此人们编写了一些Chrome扩展,使用这些URL向我们的服务器发出请求。不幸的是,这些扩展为我们解决了一些问题,比如敲打我们的服务器、发出错误的请求等等,所以我们正在试图找出如何阻止它们,或者至少让我们难以向服务器发出请求,以阻止这些扩展被使用(我们提供了一个他们应该使用的API)

我们已经尝试在请求中添加一些自定义头,在响应中添加垃圾json前导,但是扩展作者已经更新了他们的代码以匹配

我不熟悉chrome扩展,那么他们对主机页有什么样的访问权限呢?他们可以在主机页上调用JavaScript函数吗?浏览器是否包含一个特殊的标题来区分主机页请求和扩展请求?主机页是否可以检查扩展列表并拒绝某些扩展

我们考虑的一些选项包括:

  • 按用户限制QP的速率,但问题是并非所有查询都是相等的,扩展通常会启动几个看起来像用户输入的查询的昂贵查询
  • 限制用户可以使用的服务器时间,但问题是,用户可能会通过多次导航或运行昂贵的查询来达到这一限制
  • 添加静态自定义标题/响应文本,但他们已经更新了代码以模仿我们的代码
  • 找出我们在请求中包含的某种令牌(可能以某种方式是加密的),扩展不容易猜到。我们缩小/模糊了JS,因此可以将其嵌入JS源代码中(因为它的变量名很难猜测)

  • 我意识到这可能不是一个百分之百可以解决的问题,但我们希望在解决这一问题时能让我们占上风,或者让我们的用户界面变得足够难,这样做的人就更少了。

    好吧,我想没人知道。最后,我们只发送了一个自定义标题,并开始跟踪谁没有发送它。

    Welp,我想没人知道。最后,我们只发送了一个自定义标题,并开始跟踪谁没有发送它