【问题标题】:Can anyone use the endpoint URLs in a server less js application?任何人都可以在无服务器的 js 应用程序中使用端点 URL 吗?
【发布时间】:2020-01-17 03:10:09
【问题描述】:

我担心 JavaScript 中的安全隐患是向客户端公开代码,对我来说,这意味着公开您正在调用的所有 URL。假设我在我的无服务器应用程序中有一个端点 URL,当我需要在特定条件后向特定用户添加点时调用它。现在,当代码显示给用户时,用户可以访问 URL。在这种情况下,用户是否可以只看到 URL,去像 Postman 或 Insomnia 这样的 API 客户端,然后在不满足条件的情况下对 URL 进行 GET/POST 请求?

另外,假设有一个敏感的 API 密钥不能暴露给客户端。在这种情况下,我会将其放在服务器端,然后从客户端向服务器发出请求,以使用敏感密钥执行调用,而不仅仅是将密钥暴露给客户端。在这种情况下,一个人可以不获取 URL 并向服务器发出 GET/POST 请求吗?

任何开发安全 JS 应用程序的一般链接/提示也将不胜感激。

【问题讨论】:

  • 如果有端点 URL,它怎么可能是无服务器的? URL 指向一个服务器。
  • 我认为Information Security 会更适合这个问题。
  • 一般规则是,任何需要保护用户眼睛的东西都必须保存在服务器上。客户端只发送用户操作,服务器决定它们如何影响分数。如果有必须隐藏的 API 密钥,服务器会调用其他 API。
  • 可能是 OP 指的是“无服务器 javascript”模型。但是我看不出这会如何改变您的 cmets @Barmar 的有效性
  • 服务器必须验证所有输入。例如,如果您正在实施纸牌游戏,服务器会记住向每个玩家发了哪些牌,并且不会让他们打出他们没有发过的牌。

标签: javascript api security


【解决方案1】:

您应该始终注意后端(端点)的安全。无法隐藏前端将调用的 URL。当你创建你的 API 时,你应该认为唯一的用户是最好的黑客,他的目标是破解你的后端。最小的漏洞造成最大的伤害。

【讨论】:

  • 所以,如果我的前端 URL 应该调用后端说调用受保护的 URL,我基本上可以让用户简单地指示后端?
猜你喜欢
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 2014-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
相关资源
最近更新 更多