我们的安全团队要求我不要plain text
在我的登录页面中提交密码,但我们使用的是 HTTPS。所以我认为我需要在提交之前进行客户端加密,我搜索了解决方案并决定实施jCryption。
然而,在几个谷歌发现这个之后,这里展示的例子是 PHP/python 。我做了链接中解释的任何事情,但我不知道如何检索用户在表单中提交的表单数据。
key
我只在我的登录回发操作中看到一个返回,并且LoginModel
应该包含用户名,密码为空。
登录.cshtml
@model Portal.Model.Membership.LoginModel
@using jCryption
@{
Layout = null;
jCryption.HandleRequest(Request);
}
<html>
<head>
<script src="~/Assets/global/plugins/jquery.min.js" type="text/javascript"></script>
<script src="~/Assets/global/plugins/jquery-migrate.min.js" type="text/javascript"></script>
@jCryption.RenderScriptFor("form", src: @Url.Content("~/Assets/admin/scripts/jquery.jcryption.3.1.0.js"))
</head>
<body>
@using (Html.BeginForm(null, null, FormMethod.Post, new { @autocomplete = "off" }))
{
<div class="form-body">
<div class="form-group">
@Html.LabelFor(x => x.Username, new { @class = "placeholder" })
@Html.TextBoxFor(x => x.Username, new { @class = "form-input", autocomplete = "off" })
<span></span>
</div>
<div class="form-group">
@Html.LabelFor(x => x.Password, new { @class = "placeholder" })
@Html.PasswordFor(x => x.Password, new { @class = "form-input", autocomplete = "off" })
<span></span>
</div>
</div>
<div class="form-group">
<button id="btnLogin">Login</button>
</div>
}
</body>
<!-- END BODY -->
</html>
更新
我在登录后操作上设置了断点,它弹出两次,一个是key
,另一个是jCryption
: