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>

上記の全体的な考え方は、ハッカーがリクエストの投稿時にユーザー名とパスワードを検査するのを排除することです。

問題は、ユーザーが送信ボタンをクリックすると、ログインとパスワードのフィールドが、上記の割り当てにより、ログインとパスワードのフィールドで暗号化された 16 進数値に変更されることです。ユーザーが最初にUIに入力した暗号化されていないユーザー名とパスワードを変更せずに同じことを達成するにはどうすればよいですか?

4

1 に答える 1

1

送信するフォームの外にテキスト フィールドを保持する必要があります。このフィールドが送信されないようにする必要があり、ユーザーは変更されていない値を入力できます。送信するフォームでは、各テキストフィールドの非表示フィールドを保持し、送信前に暗号化された値をそこに入れます。あなたはそれoncklickonsubmitイベントを行うことができます。

于 2013-06-19T09:42:29.197 に答える