如何防止页面重复提交

由于重复点击或者网络重发,或者nginx重发等情况会导致数据被重复提交 
解决办法: 
集群环境:采用token加redis(redis单线程的,处理需要排队) 
单JVM环境:采用token加redis或token加jvm内存 
处理流程: 
1. 数据提交前要向服务的申请token,token放到redis或jvm内存,token有效时间 
2. 提交后后台校验token,同时删除token,生成新的token返回 
token特点: 
要申请,一次有效性,可以限流 
注意:redis要用删除操作来判断token,删除成功代表token校验通过,如果用select+delete来校验token,存在并发问题,不建议使用 

posted @ 2019-10-25 17:09  燕十三丶  阅读(598)  评论(0编辑  收藏  举报
AmazingCounters.com