表单重复提交指用户误操作或者点击多次提交,黑客用postMan等工具提交,卡顿刷新页面提交了数据等引起;
避免方法:1.可以数据库中建立唯一索引用用户的电话,身份证等信息
2.通过js来做比如点击提交后让提交失效,不过用postMan等工具仍可提交
3.通过在容易发生重复提交的controller方法加上@AvoidRepeatableCommit注解,然后新增Aspect切入点,每次 提交都会在Aspect上保存key到redis,然后下次提交时,若redis中有该key则拦截
4.利用session,当服务器返回数据时会生成一个subtoken,保存到session中,表单提交的时候会被拦截,查看 现在的subtoken和提交的是否一样,一样则拦截