javascript - 如何向最终用户隐藏 REST API Url?

标签 javascript rest

是否可以隐藏我通过 AJAX 用来填充页面数据的 REST URL?我不希望其他人从我的 REST API 获取和使用,但需要使用它来显示我网站中的内容。

如何向最终用户隐藏我的 REST API URL?

最佳答案

不可能在 JavaScript 中对最终用户隐藏 URL。他们只需在 Chrome 中打开网络面板,或打开 Fiddler 即可查看。

在您的特定情况下,您可以向用户隐藏 URL 的唯一真正方法是从您的服务器端代码代理对您的 API 的 REST 调用。

如果您必须使用 JavaScript,您始终可以创建和使用 APIKey,并简单地监控它们的使用情况并终止占用过多带宽的 API key ;但同样——这不会阻止其他人使用您的 API,它只会让您知道何时从意想不到的地方收到意想不到的流量。

您可以通过每天循环使用 API key 来更进一步,因此如果有人想使用您的 API;他们必须每天更改代码——但同样,这不会阻止某人,只会减慢他们的速度。

唯一完全可靠的方法是我在第一段中提到的方法——但这不能仅通过客户端 JavaScript 完成。

单页应用时代的更新

我写的内容适用于单页应用程序 (SPA);尽管您可以通过为客户端应用程序设置与服务器呈现页面不同的路由来隐藏 地址栏 中的 URL。

用户仍然可以在他们的浏览器控制台中检查流量以检查请求的去向(没有解决办法),但您至少可以在地址栏中显示不同的路径。

关于javascript - 如何向最终用户隐藏 REST API Url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24866293/

相关文章:

javascript - React Redux 通过函数从子组件向父组件传递参数

javascript - D3 - 获取垂直条形图中矩形顶部的文本

java - Jersey 2.x(非 Maven)在 Tomcat 服务器上运行时给出 404 错误

linux - 第一个在 REST 协议(protocol)上运行、部署和调用的网络样本

javascript - 如何使用其他对象中的值创建对象?

javascript - 使用 Javascript 从日期中减去工作日

c# - 如何解析包含 C# 列表的 Json WebApi 响应

php - 在 PHP 中解码查询字符串

rest - GrailsView解析jsonApi发布数据-Grails团队是否在jsonViews中执行通用解决方案?

javascript - jQuery 动画影响下面的内容 (Chrome)