在我看来,我有@html.passwordfor
,它包含在@html.beginform
中。当用户单击“提交”并将表单发回控制器时,密码在http请求正文中以纯文本形式提供。
在将用户输入的密码转换为securestring
类型之前,将其转换为控制器checklogin
操作的正确方法是什么?
我认为它与securestring
类型有关,因为我将密码(和用户名)传递给NetworkCredential
的构造函数,该构造函数具有允许securestring
密码的重载而不是明文密码。
答案 0 :(得分:3)
html表单的设计方式;凭据在您和服务器之间以明文形式发送。没有默认的加密数据方式可以确保安全性。在发送密码之前,您可以尝试使用一些JavaScript库来加密密码;但如果你担心有人拦截密码;他们也可以拦截你的加密算法。
确保密码和其他敏感信息(信用卡等)安全的常用方法是使用SSL
。这会加密客户端和服务器之间的整个连接;它更加安全。