我将开发一个Web应用程序,我很可能会使用Angular2来完成它。由于应用程序需要在服务器上存储数据,因此我需要一个Web应用程序可以用来读/写的后端。
但是如何防止他人在我的网络应用程序之外使用它?这似乎不可能吗?通过查看源代码,攻击者可以看到我在前端使用的任何硬编码令牌,API密钥等。即使通过混淆和缩小JS源可以使其变得更加困难,它也永远不会以这种方式100%安全,对吗?
那么如何创建一个可供Web应用程序前端使用的后端,同时限制它只用于我自己的前端?
如果通常不可能,那么在某些条件下是否可以,例如,如果Web前端是从运行后端的同一服务器加载的话?我在启动前端脚本时动态生成服务器会话并动态生成前端的会话ID?但我想攻击者无论如何都可以轻松创建自己的客户端,他只需要确保首先加载官方客户端并从中提取会话ID?
答案 0 :(得分:0)
我将与您分享我的个人经历和提示。
无论您是黑帽黑客还是服务器管理员,每条敏感数据都会以 0 和 1 <的形式出现在流中/强>秒。阻止攻击者获取数据的最佳机会是将它们限制在您的服务器上。但是,还有更多的东西......
至关重要的是,您不仅要在开发过程中将其视为软件工程,还要将其视为攻击者。你会看到,你的编码会变得更有效率。