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



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

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

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

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

谢谢

就像你说的,你需要使用SSL(HTTPS)来确保密码是加密的。

使用客户端哈希然后以明文形式发送的问题在于,攻击者可能会拦截和重放哈希。

SSL 包括防止重播的机制。

如果您不想为 SSL 证书付费,并且不太关心域名,那么 Azure 网站可能是一种选择。如果您不介意共享基础架构,则可以获得免费托管,并且更重要的是,您可以为*.azurewebsites.net域使用内置的默认SSL证书。

这将使您为您的网站提供免费托管和SSL,但有以下限制

  • 您将被限制*.azurewebsites.net域名
  • 您将使用共享基础架构

最新更新