ユーザーにいくつかの試験を提示しています。ユーザーは、この試験に合格する前に実際のサイトに進むことはできません。ただし、一部のユーザーは、ある日 (たとえば、現在の日付から 1 か月後) まで試験をバイパスすることを選択できます。したがって、これらのユーザーには、試験を受けるための 1 か月のウィンドウがあります。それまでは、試験ページの [続行] をクリックしてサイトにアクセスできます。
私のロジック: 通常のユーザーが試験フォーム ページで [送信] をクリックすると、すべてのロジックを実行して DB に情報を送信します。これらの「特別な」ユーザーが [続行] をクリックすると、「didPassExam()」メソッドに「true」をハーコーディングするだけです。
私の質問は: ユーザーがクリックしたボタンを確認するには、次のことを行っています (Struts 2 コード)
プライベート文字列送信;
public void setSubmit(String submit) {
this.submit = submit;
}
そしてJSPで:
<s:submit name="submit" value="Submit" />
<s:submit name="submit" value="Proceed" />
したがって、基本的にユーザーがボタンをクリックすると、アクション クラスはどのボタンがクリックされたかを認識します。しかし、一部のハッカーは意図的に [送信] ボタンの値を [続行] に変更し、通常のユーザーでも試験を回避できますか?
誰かがこれを別のより安全な方法で行うでしょうか?