【问题标题】:Safely / securely send configuration information to front-end安全/安全地向前端发送配置信息
【发布时间】:2016-05-09 09:55:55
【问题描述】:
我有点好奇将配置信息发送到前端的最佳方式——我们有一个提供页面的 Web 服务器和一个提供 JSON API 的 API 服务器——目前 API 服务器的 url 只是在一个Angular 服务,基本上是硬编码在前端 JS 文件中。稍微更“安全”的方法是将配置作为某种对象与每个请求一起发送。但我觉得大多数人会说这只是混淆,根本不安全。做这个的最好方式是什么?也许没有办法阻止某人将请求重定向到我们以外的其他服务器?
解决此问题的一种方法是将所有流量引导回 Web 服务器,该服务器反过来向 API 发出请求,但我不确定这是否是一个很好的解决方案。
【问题讨论】:
标签:
angularjs
security
web
frontend
web-frontend
【解决方案1】:
如果您需要安全性,我将从实施 HTTPS 开始。除此之外,如果您没有身份验证或授权将用户与请求连接起来,那么这可能是在 HTTPS 之后继续的好地方。
HTTPS 处理您提到的有关重定向的问题(尽管用户仍然可以忽略浏览器应该给他们的大警告)。一般来说,如果实施得当,它应该可以防止最常见的 MITM 攻击。对于身份验证,请求需要以某种方式连接到 API 服务器可以检查以进行身份验证的用户 (session_id)。对于授权,API 服务器应该能够确定经过身份验证的用户是否有权发出任何给定的请求。
这实际上取决于您的要求。通过 API 访问的信息是否公开?所有用户都应该能够访问吗?唯一关注的是响应的拦截/修改(Man-In-The-Middle MITM)吗?