struts2防止表单重复提交

我的公司使用两种技术防止表单重复提交;

1  图形验证码(登录页面用的),短信验证,邮箱验证

2  token令牌(其余的地方用)
令牌:第一:你需要在请求中有这个令牌值,请求中的令牌值如何保存,其实就和我们平时在页面中保存一些信息是一样的,通过隐藏字段来保存,保存的形式如: 〈input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"〉,这个value是TokenProcessor类中的generateToken()获得的,是根据当前用户的session id和当前时间的long值来计算的。第二:在客户端提交后,我们要根据判断在请求中包含的值是否和服务器的令牌一致,因为服务器每次提交都会生成新的Token,所以,如果是重复提交,客户端的Token值和服务器端的Token值就会不一致。

 

posted @ 2013-12-05 08:31  keia  阅读(98)  评论(0编辑  收藏  举报