在asp.net MVC中验证用户并以明文形式发送密码?

时间:2013-11-09 15:47:33

标签: asp.net-mvc

我目前正在开发一个网站,我必须使用ajax通过用户名/密码验证用户,以便将值发送到我的控制器。

目前我输入了用户名和密码类型'password'的输入。显然这意味着密码隐藏在前端,但是当我将我的值发布到控制器时,我检查了请求并注意到密码是以明文形式发送的。我做错了吗?

我原本以为你应该使用javascript对密码进行散列,然后发送该值并验证后端的未散列值。我想另一种选择是使用https?这是首选方法吗?

我不确定我是否正确处理了整个过程。基本上我试图通过验证通过ajax发送的用户名/密码来登录成员,但我担心密码是以明文形式发送的。什么是正确的方法?

由于

1 个答案:

答案 0 :(得分:1)

如您所说,您需要使用SSL(HTTPS)来确保密码已加密。

使用以明文形式发送的客户端哈希的问题是,哈希可以被攻击者拦截并重放。

SSL包括防止重放的机制。

如果您不想支付SSL证书并且您不太关心域名,则可以选择Azure网站。如果您不介意共享基础架构,则可以获得免费托管,而且,对于您的目的而言,您可以使用内置的默认SSL证书进行*.azurewebsites.net域。

这将为您的网站提供免费托管和SSL,具有

的限制
  • 你会被*.azurewebsites.net域名
  • 所吸引
  • 您将使用共享基础架构