阻止不需要使用JSON API的(Block unwanted use of json API)

2019-09-19 15:50发布

我有一个网站,你可以要求使用AJAX从我们作为JSON服务器上的数据(仅适用于我们的网站上使用)。 现在我发现,人们开始使用我们的请求,从我们的系统中的数据。 有没有一种方法来使用我们的公共JSON API阻止用户。 想法,我一直在想的是:

  • 某种校验和。
  • 页面上的会话是唯一的JavaScript值必须匹配服务器端
  • 某种与1000个不同的有效值滚动密码。

所有这些都不是100%安全的,但使得它更难使用我们的数据。 任何其他的想法或解决方案将是巨大的。

(你可以做的请求是查找和邮政编码,电话号码,SSN的翻译等)

Answer 1:

你可以使用相同的API密钥验证方法谷歌使用限制访问其API。

  • 硬性规定每个用户有一个有效的API密钥,请求数据。
  • 生成API密钥并将其存储在数据库中,当用户请求一个。

链接: 相关的问题

通过这种方式,您可以监控API的使用情况,并在其上施加使用限制。

正如@ C69指出的那样,你也可以绑定你产生对API用户的域的API密钥。 然后,您可以检查Referer的网址( $_SERVER['HTTP_REFERER']在PHP),并拒绝请求时,如果它没有被从API用户的域制造。



文章来源: Block unwanted use of json API