token防止重复提交表单。重复提交时,session里的token不会更新了吗?
来源:9-6 如何防止重复提交

他门说这就是人生
2020-02-22
老师,每次提交表单都会去获取token并保存token到session里,凭什么能保证重复提交表单时,不会因为token被更新,从而导致重复提交被执行呢?
也就是说,第一次提交的表单长时间未执行完成,此时重复提交一次,这时,它也会去请求token,而且也会去session中设置token啊,此时session里保存的token不就更新了吗?您的意思是这种情况下,第二次提交的表单会被执行完成;而第一次提交的不会执行吗?
或者,您的意思是页面加载时去获取token,提交表单时就不会更新到token?
写回答
1回答
-
比如说用户第一次在这个页面提交表单,后台系统会往HttpSession里面插入数据,Key是表单提交地址,Value是个标志位,比如说Token。只有这个请求被处理成功,后台才会删除这个HttpSession里面的数据。如果第一次提交表单,后台还没处理完。这时候再提交一次表单,后台项目发现HttpSession里面的数据没有删除,所以就可以判定这次是重复提交表单。或者你还想问,如果第一次提交的表单因为网络延迟,第二次提交表单先发送给后台,那么会不会出现两次提交表单都被处理呢?不会,不管哪次表单先到,只要后台处理请求,就会写入HttpSession,后来的请求不会被处理
012020-02-22
相似问题