n00*_*kie 0 java weblogic struts2
我正在向用户展示一些考试.用户在通过此考试之前不得进入实际网站.但是,有些用户可以选择绕过考试,直到某个日期(比如当前日期的月份).所以这些用户有一个月的窗口参加考试.在此之前,他们可以点击考试页面上的"继续"进入该网站.
我的逻辑:当普通用户点击考试表单页面上的提交时,我正在完成所有逻辑并向数据库提交信息.当这些"特殊"用户点击继续时,我将只是在'didPassExam()'方法中加密'true',如果它们仍然在那个月的窗口中.
我的问题是:检查用户点击了哪个按钮我正在执行以下操作(Struts 2代码)
private String submit;
public void setSubmit(String submit) {
this.submit = submit;
}
Run Code Online (Sandbox Code Playgroud)
在JSP中:
<s:submit name="submit" value="Submit" />
<s:submit name="submit" value="Proceed" />
Run Code Online (Sandbox Code Playgroud)
所以基本上当用户点击一个按钮时,我的动作类将知道点击了哪个按钮.但是,有些黑客可以故意将"提交"按钮的值更改为"继续",然后绕过考试,即使是普通用户也是如此?
有人会以不同的,更安全的方式做到这一点吗?
通常,您不应该信任来自客户端的输入.您应该在服务器端验证特定用户是否有权跳过考试.据推测,您知道用户是谁来自登录过程,并且您知道确定他们是否可以跳过考试的正确逻辑.所以没有理由相信客户告诉你的.
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |