首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前端应用程序的安全性

前端应用程序的安全性
EN

Stack Overflow用户
提问于 2017-12-02 01:07:29
回答 2查看 2.2K关注 0票数 5

我对任何涉及用户身份验证的东西都很陌生,不管是前端还是后端。我正在构建一个角速度为2/5的应用程序。我发现了Jason的本教程,我将尝试适应我的需求。我在评论中看到,Jason解释说,对于您希望前端安全的站点,建议在单独的前端应用程序中进行身份验证,然后在用户登录后将用户重定向到完整的应用程序。原因是没有一个前端应用程序是安全的,因为用户可以改变变量来查看由路由保护或其他方式保护的路由。这些数据在后端仍然是安全的,但是您不希望公众知道前端的功能,比如如何分析用户输入的数据。

我的问题是,在保护前端应用程序方面,这是不可能的绝对事实吗?这是有道理的,我有一种预感,这是真的,但我想知道是否有办法至少使人们很难看到戒备森严的路线。(就像路由守卫询问服务器令牌是否有效一样?)但是这样你就可以把这个函数修改成总是返回true,对吗?嗯.)

编辑能在这里起作用吗?是否有可能构建服务器只在用户登录后才可用的模块/路由?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-04 01:50:21

尝试并保护一些前端代码不受未经身份验证的用户的影响是非常合理的想法,而延迟加载实际上可能会对此有所帮助。

几点想法:

  • 只有允许某些(经过身份验证的)用户下载某些前端文件,才能提高安全性,因为这样的代码无法对潜在的外部攻击者进行分析。因此,没有凭据的人将很难在应用程序的这些部分找到类似XSS的东西,这是一个实际的安全好处。
  • 类似的东西可以通过混淆来实现,但是很明显,这绝不会像把代码分发给未经身份验证的用户那样好。
  • 这样做通常会使开发(流程)变得更加复杂,而复杂性通常不是安全的好朋友。
  • 很多攻击者都不是外部的。在客户端代码中拥有敏感信息不是一个好主意,业务逻辑本身也非常敏感。应用程序的任何有效用户都可能成为“攻击者”,如果它在客户机上,那么他们就需要有这段代码。
  • 因此,最佳实践是将这样的业务逻辑放在服务器上。
  • 但最终,这取决于你想要承担的风险。需要考虑的因素包括将所有信息都放在服务器上的价格(资源数量)、如果信息丢失给对手的潜在损失、发生这种情况的可能性(即。是否有5个可信用户,或150000个未知用户),以及您的风险偏好。
票数 3
EN

Stack Overflow用户

发布于 2017-12-02 01:21:38

前端代码和后端代码的区别在于,前端运行在访问网站的人的计算机上,而后端运行在服务器上(通常是几百英里外)。如果是前端代码,这意味着它在用户的计算机上,这意味着他们可以访问它。你可以偷偷摸摸,这样才能让一个知识渊博的“黑客”真正看到任何重要的东西,但不可能隐藏前端代码。他们的计算机需要它,因此用户可以访问它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47603549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档