【发布时间】:2013-06-17 10:16:30
【问题描述】:
在 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 中输入的未加密用户名和密码的情况下实现相同功能?
【问题讨论】:
-
保持值不变的目的是什么?提交后的值就没用了。
-
但是在后端处理请求时,用户可以看到他输入的原始值发生了变化
-
那么您不应该更改用户输入的值,如果您在其他地方更改它,您已经从提交中删除了这些字段,因为您不想在网上发布未加密的字段,对吗?
-
是的,我不想提交未加密的值,而是想提交加密的值。但我想阻止用户在后台看到这种情况
标签: java jsp encryption parameters struts2