基于浏览器的客户端有任何明显的安全问题或缺点吗?
Any apparent security concern or downside of a browser-based client?
我负责一个涉及大量动态设计的 Web 应用程序项目。
我打算用 Node.js 构建一个 RESTful API 和基于令牌的身份验证,最初我考虑构建另一个 Node.js 应用程序用于基于 Web UI,但现在我已经有了API的基本设计,我想知道在浏览器上用JavaScript实现所有UI逻辑是否可行?
它将涉及一个 HTML 页面,其中有 JavaScript 将 GET/POST 来自 API 的数据,并相应地更新 DOM,此外,我会在 cookie 中保存身份验证令牌,浏览器中的 JavaScript 会通过 RESTful API.[=10 执行从登录到 updating/deleting/creating 各种数据的所有操作=]
我还没有听说过这样的事情,是否有任何安全问题?我没想到,如果受到攻击,API 服务器会收到大量请求。
无论流量或代码量大小,安全问题都是一样的。
- 是否向浏览器发送了任何敏感信息?
- 是否有任何对服务器的请求未被验证?
这几乎就是安全的程度。任何攻击者都可以对任何 API 进行任何请求轰炸,无论应用程序的客户端代码有多复杂。
假设客户端代码可能根本不执行。假设您无法控制客户端代码。假设每个到达 API 的请求都必须经过验证。假设进入 API 的任何输入都不可信。等等
基本上没有额外的安全问题,这些问题在任何最简单的网络应用程序中都不存在。
我负责一个涉及大量动态设计的 Web 应用程序项目。
我打算用 Node.js 构建一个 RESTful API 和基于令牌的身份验证,最初我考虑构建另一个 Node.js 应用程序用于基于 Web UI,但现在我已经有了API的基本设计,我想知道在浏览器上用JavaScript实现所有UI逻辑是否可行?
它将涉及一个 HTML 页面,其中有 JavaScript 将 GET/POST 来自 API 的数据,并相应地更新 DOM,此外,我会在 cookie 中保存身份验证令牌,浏览器中的 JavaScript 会通过 RESTful API.[=10 执行从登录到 updating/deleting/creating 各种数据的所有操作=]
我还没有听说过这样的事情,是否有任何安全问题?我没想到,如果受到攻击,API 服务器会收到大量请求。
无论流量或代码量大小,安全问题都是一样的。
- 是否向浏览器发送了任何敏感信息?
- 是否有任何对服务器的请求未被验证?
这几乎就是安全的程度。任何攻击者都可以对任何 API 进行任何请求轰炸,无论应用程序的客户端代码有多复杂。
假设客户端代码可能根本不执行。假设您无法控制客户端代码。假设每个到达 API 的请求都必须经过验证。假设进入 API 的任何输入都不可信。等等
基本上没有额外的安全问题,这些问题在任何最简单的网络应用程序中都不存在。