我有一个从我新创建的 JSON API 中提取数据的 Web 应用程序。
我的静态 HTML 页面通过 JavaScript 从静态 HTML 页面动态调用 JSON API。
如何限制对我的 JSON API 的访问,以便只有我(我的网站)可以从中调用?
如果有帮助,我的 API 类似于:http://example.com/json/?var1=x&var2=y&var3=z ...根据查询生成适当的 JSON。
我正在使用 PHP 来生成我的 JSON 结果...限制对 JSON API 的访问是否可以像检查 $_SERVER['HTTP_REFERER']
以确保 API 仅是从我的域而不是远程用户调用的?
最佳答案
我认为您可能误解了从用户的浏览器而不是从您自己的服务器发起 JSON 请求的部分。静态 HTML 页面被传递到用户的浏览器,然后它转身并执行页面上的 Javascript 代码。此代码打开一个新连接返回到您的服务器以获取 JSON 数据。从您的 PHP 脚本的角度来看,JSON 请求来自外部世界的某个地方。
鉴于上述机制,您无法阻止任何人在您的 HTML 页面上下文之外调用 JSON API。
https://stackoverflow.com/questions/856045/