拒绝HTTPS密码在浏览器中显示纯文本密码

时间:2018-02-03 21:01:41

标签: angularjs authentication asp.net-web-api

我们在前端有一个HTML / AngularJS的Web应用程序,并在后台使用MS Web API。出于安全原因,我们需要使用HTTPS。我读过的每篇关于使用明文密码以及如何登录的文章都归结为“只使用HTTPS,一切都会安全”。

最近,我们在内部测试应用程序,当QA人员尝试登录时,Web API服务意外关闭。接下来发生的是您在下图中看到的内容。密码在浏览器中以纯文本显示。质量保证,我的老板,公司,上帝和美国的每个人都因此而“生牛”。

浏览器中显示的消息不是我编码的内容,它似乎是AngularJS的一部分,它试图通过向我显示一个失败的API调用以及它试图传递给它的对象来帮我一个忙。 API。在这种情况下,有意义的是(我认为)Angular有这些信息。

任何人都可以帮我理解这里发生的事情吗?什么被认为是解决这个问题的正确方法?我假设我可以先添加一些JavaScript代码来加密客户端的密码,但这似乎对于黑客在客户端进行拦截非常容易。那么在客户端保持安全的正确方法是什么?

enter image description here

2 个答案:

答案 0 :(得分:2)

发生的事情是用户(您)和浏览器(在您的计算机上)居住在同一个信任边界。

您只需在浏览器中输入该密码即可。浏览器仅将其隐藏在输入框中以防止肩膀冲浪。浏览器并不真正尝试隐藏您刚刚输入的内容。

如果您在浏览器中打开开发工具,则可以看到HTTP协议中通过网络发送的任何内容。信任边界以外的任何人都看不到这一点,因为HTTPS协议会对线路上的任何内容进行加密。

答案 1 :(得分:0)

在不查看代码的情况下很难分辨,但我找到了类似的issue

app.config(['$qProvider', function ($qProvider) {
    $qProvider.errorOnUnhandledRejections(false);
}]);