码迷,mamicode.com
首页 > 其他好文 > 详细

使用Session防止表单重复提交

时间:2018-04-03 17:35:32      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:for   服务器端   没有   生成   title   令牌   服务器程序   不同   隐藏   

防止重复提交表单,方法有:

1、利用JavaScript防止表单重复提交

2、利用Session防止表单重复提交

具体的做法:在服务器端生成一个唯一的随机标识号,专业术语称为Token(令牌),同时在当前用户的Session域中保存这个Token。然后将Token发送到客户端的Form表单中,在Form表单中使用隐藏域来存储这个Token,表单提交的时候连同这个Token一起提交到服务器端,然后在服务器端判断客户端提交上来的Token与服务器端生成的Token是否一致,如果不一致,那就是重复提交了,此时服务器端就可以不处理重复提交的表单。如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号。
  在下列情况下,服务器程序将拒绝处理用户提交的表单请求:

    1. 存储Session域中的Token(令牌)与表单提交的Token(令牌)不同。
    2. 当前用户的Session中不存在Token(令牌)
    3. 用户提交的表单数据中没有Token(令牌)

使用Session防止表单重复提交

标签:for   服务器端   没有   生成   title   令牌   服务器程序   不同   隐藏   

原文地址:https://www.cnblogs.com/ipetergo/p/8708613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!