token防止前端重复提交

关于表单重复提交的控制在不同的层面有不同的实现方法。最简单的就是前端按钮提交之后置灰控制。另外对于绕过前端恶意重复提交的行为就需要在服务端进行控制。大致分为两类。第一类为web容器对请求进行控制,第二类为业务系统幂等控制。

这里介绍一下通过token实现web容器重复请求控制。

原理: 1表单打开时向后端申请一个token。

2表单提交时将token一并提交

3controller处理请求时检查token,如果token存在则删除这个token并判定请求合法。

注意:redis要用删除操作来判断token,删除成功代表token校验通过,如果用select+delete来校验token,存在并发问题,不建议使用

实现例子:

                    1 创建一个TokenUtil类,用来生成token和token校验

token防止前端重复提交_第1张图片

2获取token的controller

token防止前端重复提交_第2张图片

                  3 token判定的应用

token防止前端重复提交_第3张图片

你可能感兴趣的:(token防止前端重复提交)