为了账号安全,请及时绑定邮箱和手机立即绑定

web服务器有多个节点如何防止表单重复提交

web服务器有多个节点如何防止表单重复提交

鸿蒙传说 2019-02-24 03:13:20
我知道有通过js控制页面,还有利用Session生成唯一标识符,但是当web服务器有多个节点如何防止表单重复提交
查看完整描述

4 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

推荐您看下说说API的防重放机制

目前我们公司就是用的这个机制。

查看完整回答
反对 回复 2019-03-01
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

在springmvc配置文件中加入拦截器的配置,当转到页面的请求到来时,生成token的名字和token值,一份放到redis缓存中,一份放传给页面表单的隐藏域。
当表单请求提交时,拦截器得到参数中的tokenName和token,然后到缓存中去取token值,如果能匹配上,请求就通过,不能匹配上就不通过。这里的tokenName生成时也是随机的,每次请求都不一样。而从缓存中取token值时,会立即将其删除(删与读是原子的,无线程安全问题)。

查看完整回答
反对 回复 2019-03-01
?
慕沐林林

TA贡献2016条经验 获得超9个赞

看下这个 蘑菇街防重复请求处理的实践与总结 链接描述

查看完整回答
反对 回复 2019-03-01
?
慕标5832272

TA贡献1966条经验 获得超4个赞

一次form请求只能去一个web节点就可以了

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 535 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号