【发布时间】: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