1

在 Struts2 应用程序中,我使用 JCription 加密用户名和密码。当用户单击提交按钮时,我调用一个 JavaScript 函数并使用加密的用户名和密码提交表单。在此 JavaScript 函数中,我将加密的用户名和密码设置如下,以便在操作类中检索和解密。

document.getElementsByName("user.login")[0].value=encryptedValue;

下面是用户名和密码所在的 JSP 文件,

<s:textfield name="user.login" maxlength="20" size="20"/>
<s:fielderror>
  <s:param value="%{'user.login'}" />
</s:fielderror>

这样做的整个想法是消除黑客在发布请求时检查请求中的用户名和密码。

问题是一旦用户单击提交按钮,由于我的上述分配,登录和密码字段在登录和密码字段中更改为加密的十六进制值。如何在不更改用户最初在 UI 中输入的未加密用户名和密码的情况下实现相同的功能?

4

1 回答 1

1

您应该将文本字段保留在您提交的表单之外。它应该阻止提交此字段,并且用户可以输入未更改的值。在您提交的表单中,保留每个文本字段的隐藏字段,并在提交之前将加密值放在那里。你可以做它oncklickonsubmit事件。

于 2013-06-19T09:42:29.197 回答