防止用户重复提交表单 - 表单令牌
表单令牌怎么弄啊?
访问表单时生成一个 token保存在session 和 表单里.
提交表单时判断表单token和session的token是否相同,并且不为空
相同的话, 表单提交成功 , 清除seesion的token
不相同的话, 表单提交失败
目前我是这样做的
但是如果用户在同一个浏览器打开两个表单页面的话, 前一个session会失效
代码有其他问题的话, 请大家指点下
访问表单时生成一个 token保存在session 和 表单里.
提交表单时判断表单token和session的token是否相同,并且不为空
相同的话, 表单提交成功 , 清除seesion的token
不相同的话, 表单提交失败
目前我是这样做的
//1
$_SESSION['token'] = time() . rand(1, 10000000);
//2
<input id="token" name="token" type="hidden" value="<?php echo $token ?>">
//3
if(isset($_SESSION['token']) && $_SESSION['token'] == $_POST['token']){
unset($_SESSION['token']);
//表单提交成功
}else{
//表单提交失败
}
但是如果用户在同一个浏览器打开两个表单页面的话, 前一个session会失效
代码有其他问题的话, 请大家指点下
...全文
相关推荐
php+Ajax远程加载防止重复提交
通过Ajax,我们可以实现异步通信,使得用户在提交表单后无需等待页面刷新,提高交互性。1. **防止重复提交** - 通常,重复提交可能因用户误操作或网络延迟而发生,导致数据库中出现重复数据。
Java怎样防止重复提交
它会在用户提交表单时生成一个唯一的令牌存储在Session中,并在表单中添加一个隐藏字段携带这个令牌。服务器在接收到表单提交时,会检查令牌的正确性,如果令牌匹配则处理请求,不匹配则拒绝。2.
js防止表单重复提交实现代码
以下是一些防止表单重复提交的方法和技术:1. **令牌验证**: 令牌验证是一种常用的方法,它在用户提交表单前生成一个唯一的令牌,将其存储在服务器端(如Session)和客户端(如隐藏字段)。
springboot2.1+redis+拦截器 防止表单重复提交
以下是对这个主题的详细解释:首先,我们需要理解表单重复提交的问题。当用户点击提交按钮多次或者由于网络延迟导致的重复提交,服务器可能会接收到相同的数据请求多次,这可能会对业务逻辑产生不良影响。
ASP.NET中防止刷新页面造成表单重复提交
### ASP.NET中防止刷新页面造成表单重复提交在Web应用程序开发中,特别是在使用ASP.NET进行网站构建时,一个常见的问题是表单重复提交。


