防止表单重复提交

第一种方法:javascript控制。缺点,一般用户使用没问题,但是懂点js的还是可以强行重复提交。而且,后退再提交,你也没啥办法。

第二种方法:服务器控制。

后台生成一个token,存入session或者其他缓存里面。渲染表单时,给form一个隐藏的token(令牌).

用户提交表单时:

先判断表单里面的token是否存在,不存在拒绝接受此数据;

如果存在token,判断此表单里的token是否和session里的token一致,如果不一致,拒绝处理数据;如果一致,处理表单,并从session里移除此token.

那么,当用户成功提交表单后,如果再次提交,会因为session里的token已删除,从而让服务器告诉用户“不要重复提交表单!”.

代码就不附上了。That's all.

原文地址:https://www.cnblogs.com/ICE_Inspire/p/6246969.html