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