我对与用户身份验证(前端和后端)有关的任何事情都是新手。我正在使用Angular 2/5构建应用程序。我发现杰森沃特莫尔this tutorial我将尝试适应我的需要。我在评论中看到,Jason解释说,对于您希望前端安全的网站,建议在单独的前端应用程序中进行身份验证,然后在用户拥有后将用户重定向到完整的应用程序登录。原因是没有前端应用是安全的,因为用户可以改变变量以查看受路线保护或其他方式保护的路线。这些数据在后端仍然是安全的,但您有一些功能,您不希望公众知道前端,例如您如何分析用户输入的数据。
我的问题是,在确保前端应用程序安全方面,这是不可能的绝对事实?这是有道理的,而且我预感到这是真的,但我想知道是否有办法至少让人很难看到守卫路线。 (就像路线保护员询问服务器令牌是否有效?...但是你可以修改功能总是返回true,对吗?嗯......)
[编辑]延迟加载可以在这里发挥作用吗?是否可以构建一个服务器仅在用户登录后才可用的模块/路由?
答案 0 :(得分:1)
前端代码和后端之间的区别在于前端是在访问网站的任何人的计算机上运行,而后端是在通常数百英里之外的服务器上运行。如果它是前端代码,那意味着它在用户计算机上,这意味着它们可以访问它。你可以偷偷摸摸地做到这一点,只有一个知识渊博的黑客"实际上可以看到任何重要的东西,但隐藏前端代码是不可能的。他们的计算机需要它,因此用户可以访问它。
答案 1 :(得分:1)
尝试保护一些未经身份验证的用户的前端代码是一个非常合理的想法,而延迟加载实际上可能有助于此。
一些想法: