0

我有一个网站,您可以在其中使用 ajax 从我们的服务器请求数据作为 json(仅在我们的网站上使用)。现在我发现人们开始使用我们的请求从我们的系统中获取数据。有没有办法阻止用户使用我们的公共 json API。我一直在思考的想法是:

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

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

(您可以做的请求是查找和翻译邮政编码、电话号码、ssn 等)

4

1 回答 1

2

您可以使用与 Google 相同的API 密钥身份验证方法来限制对其 API 的访问。

  • 要求每个用户都必须拥有有效的 API 密钥才能请求数据。
  • 当用户请求时,生成 API 密钥并将其存储在您的数据库中。

链接: 相关问题

这样,您可以监控 API 的使用情况,并对其施加使用限制。

正如@c69 所指出的,您还可以将生成的 API 密钥绑定到 API-user 的 domain 。然后,您可以检查引用 URL($_SERVER['HTTP_REFERER']在 PHP 中),并拒绝请求,如果它不是来自 API 用户的域。

于 2012-07-17T22:33:40.103 回答