如何限制 JSON 访问?

2024-05-12

我有一个 Web 应用程序,可以从新创建的 JSON API 中提取数据。

我的静态 HTML 页面通过 JavaScript 从静态 HTML 页面动态调用 JSON API。

如何限制对 JSON API 的访问,以便只有我(我的网站)可以从中调用?

如果有帮助的话,我的 API 是这样的:...它根据查询生成适当的 JSON。

我正在使用 PHP 生成 JSON 结果...限制对 JSON API 的访问可以像检查$_SERVER['HTTP_REFERER']确保仅从我的域而不是远程用户调用 API?


我认为您可能误解了发起 JSON 请求的部分从用户的浏览器而不是来自您自己的服务器。静态 HTML 页面被传递到用户的浏览器,然后浏览器返回并执行页面上的 Javascript 代码。此代码打开一个返回到服务器的新连接以获取 JSON 数据。从 PHP 脚本的角度来看,JSON 请求来自外部世界的某个地方。

鉴于上述机制,您无法采取太多措施来阻止任何人在 HTML 页面上下文之外调用 JSON API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何限制 JSON 访问? 的相关文章

随机推荐

  • 从分离的头进行 Git 推送

    我以超然的态度做出了一些改变 我想用 Git 将这些更改推送到这个独立的头 我不希望我的更改进入开发分支 当然也不想进入主分支 我正在与另一个人一起处理一个文件 分支示例 develop master HEAD detached at or
  • 用css制作一个加号[重复]

    这个问题在这里已经有答案了 我有一个模型 用于制作看起来非常简单的加号 然而 我的 CSS 技能并不是很好 制作圆圈没什么大不了的 但在里面制作加号我似乎无法弄清楚 这就是我正在尝试做的事情 Mockup 这是我目前拥有的 到目前为止 这是
  • 节点异步循环 - 如何使该代码按顺序运行?

    我知道有几个关于此的帖子 但根据我发现的那些帖子 这应该可以正常工作 我想在循环中发出 http 请求 并且不希望循环迭代 直到触发请求回调 我正在使用异步库 如下所示 const async require async const req
  • C++ 从模板参数中解压参数包

    如何实现下面我想要的 我要解压的参数包不在函数参数列表中 而是在模板参数列表中 include
  • 从频率表生成 data.frame

    我在 2 4 数组中有包含 500 个观察值的合成数据 datax array c 120 181 50 43 41 33 24 8 dim c 2 4 dimnames datax list gender c male female pu
  • Orientation改变时如何处理Activity?

    我正在编写一个活动 它从服务器加载数据并使用 ArrayAdapter 将其显示为列表 为此 我显示了一个进度对话框 即加载 同时它从服务器加载所有数据 然后我在处理程序中关闭该对话框 我的问题是 当我更改方向时 会再次显示进度对话框 这是
  • R 抑制系统或 shell 命令的控制台输出

    我有这个 Windows 批处理文件 我使用 R 从 R 调用该文件shell 命令 该批处理文件执行一些计算并将它们写入磁盘上 也写入屏幕上 我只对磁盘输出感兴趣 我无法更改批处理文件 批处理文件可能有点愚蠢 例如 echo off ec
  • 发送WM_SETTEXT时如何避免EN_CHANGE通知?

    我有一个 CEdit 派生控件 当基本数据为空时 该控件显示字符串 N A 我最近添加了代码 以在控件获得焦点时清空控件 SetWindowText 并在用户离开焦点时将其设置回 N A SetWindowText N A 控空 唯一的问题
  • capistrano deploy.rb 中的 require 找不到文件

    我有一个 Rails 3 0 5 应用程序 我正在设置 capistrano 来使用配方 在我的配置目录中 我有一个名为 database capistrano rb 的文件 在我的deploy rb中 也在配置目录中 我有以下行 就在开头
  • Angular2 authguards 执行异步函数失败

    我想通过检查用户是否从服务器登录来保护我的路由 但异步函数不会被执行 这是我的代码 canActivate route ActivatedRouteSnapshot state RouterStateSnapshot Observable
  • 在 any() 语句中迭代一个小列表是否更快?

    在低长度迭代的限制下考虑以下操作 d 3 slice None None None slice None None None In 215 timeit any type i slice for i in d 1000000 loops b
  • Keras 通过设置种子获得不同的结果[重复]

    这个问题在这里已经有答案了 在keras中 每次运行都有很高的方差和不稳定的性能 为了解决这个问题 根据https keras io getting started faq how can i obtain reproducible res
  • 表单输入不会采用百分比填充

    如果使用像素填充 我的表单输入会正确显示 但使用左侧和右侧的百分比填充会破坏它 我不明白为什么 它可以在 Safari 中运行 但在 Firefox 3 5 3 OSX 中损坏 问题是 当我使用百分比填充时 填充全部中断 因此输入值没有很好
  • 我试图理解为什么在使用 paramiko 1.7.6 时出现“权限被拒绝”错误

    谁能告诉我为什么我会收到以下错误 Traceback most recent call last File C Python27 connect py line 22 in
  • C++ sqrt 返回 -1.#IND000000000000

    具体来说 我正在做一些数学运算 并且应用程序不断崩溃 因为当 某些 数字被开方时 广泛使用的双精度碰巧获得值 1 IND000000000000 这是什么 不定 无穷 太大装不下 不是完美的平方根 有什么办法可以解决这个问题吗 提前致谢 编
  • 获取字母数字值的 Max()

    我有一个包含字母数字 ID 的字典 例如 a10a10 和 d10a9 我想要其中最大的 ID 意思是 9 当我使用以下代码时 d10a9 是 MAX 因为 9 排在 10 之前 var lsd new Dictionary
  • 如何在Google机器学习中将jpeg图像转换为json文件

    我正在研究 Google Cloud ML 我想对 jpeg 图像进行预测 为此 我想使用 gcloud beta ml 预测 instances INSTANCES model MODEL version VERSION https cl
  • lambda 表达式如何共享局部变量?

    我正在阅读有关 lambda 表达式的内容 并且看过这个示例 示例1 static Func
  • 如何使用 Java 创建多个模式连接?

    我必须使用两个数据库 DB2 Oracle 我在 DB2 数据库中有一个名为NAVID 我想使用 Java 为 Oracle 中的所有表创建相同的架构 public class automateExport static String va
  • 如何限制 JSON 访问?

    我有一个 Web 应用程序 可以从新创建的 JSON API 中提取数据 我的静态 HTML 页面通过 JavaScript 从静态 HTML 页面动态调用 JSON API 如何限制对 JSON API 的访问 以便只有我 我的网站 可以