session 防止表单重复提交

   防止表单重复提交,是每个开发人员不可回避的问题。解决方式也有多种,这里记录一下的三种方式。

表单重复提交的三种情况:

(1)、网速较慢,或者延迟高,导致用户多次点击提交按钮。

(2)、回退页面后再次提交。

(3)、点击提交后,再次刷洗页面。

(4)、打开多个tab,然后依次提交。

一 解决方式。

 对于情况1,可以提交后将button设置为不可用。或者添加flag,第一次提交将flag设置为true,再次提交是判断flag状态。

 对于其他情况可以采取 seesion防止表单重复提交,当请求表单页面时,先生成token,绑定到session中,然后重定向到表单页面,将token放在隐藏域内,再次提交时将token,提交到服务器,用来判断。当token不一致或者不存在,就判断为重复提交。

(* token可以使用时间戳+随机数生成,然后使用md5加密)

这里的解决防止是放在单机应用,不涉及到分布式应用,分布式应用可以参考session 共享以及缓存技术(redis)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值