我正在向用户展示一些考试。用户在通过此考试之前不得进入实际站点。但是,将有一些用户可以选择在某个日期(例如从当前日期开始的月份)之前绕过考试。所以这些用户有一个月的时间参加考试。在那之前,他们可以点击考试页面上的“继续”进入网站。
我的逻辑:当普通用户在考试表单页面上单击提交时,我正在执行所有逻辑并向数据库提交信息。当这些“特殊”用户单击继续时,如果他们仍在那个一个月的窗口中,我将只是将“真”编码到“didPassExam()”方法。
我的问题是:要检查用户单击了哪个按钮,我正在执行以下操作(Struts 2 代码)
私人字符串提交;
public void setSubmit(String submit) {
this.submit = submit;
}
在 JSP 中:
<s:submit name="submit" value="Submit" />
<s:submit name="submit" value="Proceed" />
所以基本上当用户点击一个按钮时,我的动作类会知道点击了哪个按钮。但是,一些黑客是否可以故意将“提交”按钮的值更改为“继续”,然后即使是普通用户也能绕过考试?
有人会以不同且更安全的方式执行此操作吗?