阻止json API的不必要使用
我有一个网站,您可以使用ajax从我们的服务器请求数据作为json(仅在我们的网站上使用)。现在我发现人们开始使用我们的请求从系统中获取数据。有没有办法阻止用户使用我们的公共json API。我一直在思考的想法是:阻止json API的不必要使用,json,security,blocking,Json,Security,Blocking,我有一个网站,您可以使用ajax从我们的服务器请求数据作为json(仅在我们的网站上使用)。现在我发现人们开始使用我们的请求从系统中获取数据。有没有办法阻止用户使用我们的公共json API。我一直在思考的想法是: 某种校验和 页面上必须匹配服务器端的会话唯一javascript值 某种具有1000个不同有效值的滚动密码 所有这些都不是100%安全的,但使我们的数据更难使用。任何其他想法或解决方案都会很好 (您可以做的请求是查找和翻译邮政编码、电话号码、ssn等)您可以使用谷歌用于限制访问其
- 某种校验和
- 页面上必须匹配服务器端的会话唯一javascript值
- 某种具有1000个不同有效值的滚动密码
- 强制每个用户拥有有效的API密钥,以请求数据
- 当用户请求API密钥时,生成API密钥并将其存储在数据库中
正如@c69所指出的,您还可以将生成的API密钥绑定到API用户的域。然后,您可以检查Referer URL(
$\u SERVER['HTTP\u Referer']
,在PHP中),如果请求不是从API用户域发出的,则可以拒绝该请求。为什么不检查请求的URL是否是您自己的?@gabykag.Petrioli:仍然有机会,用户可以使用同一个域从控制台调用API。这个问题很有趣,但对于这种主观问题来说,这不是一个合适的地方。@Dev,的确。。不确定Andreas想要多少强健的解决方案。。(也可以操纵推荐人或根本不在场……)解决方案不必100%安全。现在它对所有人开放,但这并不好。