wlbk.net
当前位置:首页 >> php防止用户重复提交表单 >>

php防止用户重复提交表单

你是否遇到过“重复提交”的问题?要解决这个问题其实并不难.这里有一个简单的方法避免同一表单的重复提交. 首先,我们可以定义一个session变量用来保存一个表单的提交序列号.这里我定义为“$userLastAction”.然后在表单里加入

你是否遇到过重复提交62616964757a686964616fe78988e69d8331333361323632的问题?要解决这个问题其实并不难.这里有一个简单的方法避免同一表单的重复提交.首先,我们可以定义一个session变量用来保存一个表单的提交序列号.

在php中如何防止表单的重复提交 * php中如何防止表单的重复提交 */session_start();if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一

生成随机码,然后进行判断.或者采用框架的形式.

最常用的方法就是利用token.即:1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中.2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致.若不一致则认为是无效的请求.3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁).同时token也可以关联时间信息,超时后也自动作废.这样,即便客户端重复提交,也只有第一次的请求能够成功.

if(!empty($row['name'])) { $response = "<font color=red>该用户名已被注册!</font>"; exit("<script>window.history.go(-1);</script>"); }

php不是很懂,给你一个折中的方法,验证码!到服务器端验证验证码后,从session中将验证码去除掉,当用户再提交的时候就会因为验证码错误而拒绝数据的写入或者读取!

通常是在表单中增加一个验证码.这是防无意刷新的简便方法.一刷新,验证码自动更新,处理程序就会检测到验证码不对.

一般来说,PHP最主流的方式,是通过在表单中添加一个隐藏字段,使用类似md5、uniqid这类函数来生成一个随机码进行提交.验证表单的时候,可以将相应的随机码进行缓存、对比.如果存在已缓存的随机码,就认为该表单已经被提交了,返回错误就可以了.另外,在用户体验方面,可以在用户点击提交后,将提交按钮disabled几秒钟,就避免了用户误操作提交多次(当然,这只是用户体验层面的,无法阻挡恶意提交)

写入数据库之前 检测下 当前数据库里是否已存在 .

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com