我一直在学习角度2,并且一直在研究如何在我的应用程序中保护数据。
如果可能,您如何阻止来自应用程序前端的数据?是否可以通过节点服务器提供角度应用程序,例如使用Universal Angular,这意味着可以在前端向用户隐藏变量值。
我基本上在寻找隐藏私钥的解决方案,这将使应用程序可以访问各种API /创建auth标头/路径。我已经阅读了一个解决方案是为应用程序建立一个API桥接器 - 所以我会连接到它来检索数据/密钥 - 但是我如何保护它免受访问?由于该端点将被暴露并且可能被滥用,或者如果获得密钥,则响应是可见的。锁定到我已阅读的域名的想法是不可靠的,因为欺骗和锁定IP不会作为其前端或通过应用程序工作?
我觉得有一个明显的答案,我错过了一些东西。
答案 0 :(得分:1)
很简单,当服务器发送数据作为对请求的响应时,可以从外部访问数据。 如果您不想要,请不要发送数据。
您没有提到您实际尝试解决的问题。对于API密钥,您可以例如对服务器上的API执行请求,并在您自己的服务器上为您的客户端提供API,然后让服务器将请求转发给实际的API服务器。
答案 1 :(得分:1)
您必须假设前端中保存的所有内容对任何可以访问您的前端的人都可见。 前端的所有JS变量,存储(本地,会话),网络请求等都是对前端用户不安全的。
您可以(并且应该)使用SSL从服务器和浏览器之间的任何人隐藏数据,但是没有办法保护前端用户保存的数据。 (至少如果您的前端在“常规”浏览器上可用,而不是某些收紧的自助服务终端模式安装。)