如何在AngularJS中正确保护密码

How to properly secure password in AngularJS

本文关键字:确保 保护 密码 AngularJS      更新时间:2023-09-26

我最近读了一篇关于AngularJS应用程序中认证技术的文章。他的概念与我通常处理此过程的方式非常相似,但密码以明文形式绑定到控制器的方式对我来说似乎是一个安全漏洞,我想知道有什么更好的方法来处理这个问题?

<input type="password" id="password" ng-model="credentials.password">

我认为,一种方法是在控制器上加密绑定密码?有办法做到吗?

我对讨论的看法:

1)只有当您的登录视图存在时,控制器才存在。一旦您提交了登录信息,您通常会更改视图,从而破坏控制器。

2)即使它在整个会话期间存在,也需要相当复杂的xss方案来获取数据。

3)而且,你们还有很多项目可以进一步降低风险:

    使用https
  • 在服务器端使用已签名的服务器证书

(如果您使用https,那么浏览器不应该允许您向HTTP资源发出ajax调用,并且如果未为站点添加证书签名和例外,https请求将失败)

4)最后,如果服务器支持,您可以考虑使用oAuth进行身份验证。

5)离岸金融中心。这完全取决于应用程序所需的安全级别。如果您真的担心有人在离开机器时得到密码,那么应该考虑使用不同的身份验证方法,例如:客户端证书(在智能卡上)或额外的1次代码,或类似的东西。