php通过记录IP来防止表单重复提交方法分析


Posted in PHP onDecember 16, 2014

本文实例分析了php通过记录IP来防止表单重复提交方法。分享给大家供大家参考。具体分析如下:

这个原理比较的简单就是用户第一次提交时我们记录提交用户的IP地址,这样如果用户在固定时间内再次提交表单就会提示重复提交了,这种做法通常用于在顶一下,支持一下这种应用中了,在防止数据重复提交是一个非常不好的选择.

例子,代码如下:

<?php 

session_start(); 

if(empty($_SESSION['ip']))//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 

{ 

$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];//第一次写入,为后面刷新或后退的判断做个铺垫 

mysql_query("INSERT INTO admin(id, name, age) VALUES(123, '姚明', 25)");//写入数据库操作 

}

else//已经有第一次写入后的操作,也就不再写入数据库 

{ 

echo '请不要重复提交表单或刷新页面';//写一些已经写入的提示或其它东西 

} 

?>

还有办法就是:

1:在页面生成随机码,也就是每次提交随机码都不一样,在提交的时候验证随机码!

2:在提交的时候,验证如果数据存在,就不提交了.

如果你想防止重复提交入库IP不是最好的办法,我们可以在数据库中查询是不是有相同记录并且IP是不是想同再进行处理.

例子,代码如下:

$sql ="select * from 表名 where buy_tel='电话' and IP='$ip'   ";// and $time-buy_date<60 

$query = $db->query( $sql ); 

if( $db->rows( $query ) ) 

{ 

echo('<script>alert("您己提交过了,请勿重复提交!");</script>'); 

} 

else 

{ 

//进行入库操作 

}

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
PHP超级全局变量数组小结
Oct 04 PHP
php 启动报错如何解决
Jan 17 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
PHP静态文件生成类实例
Nov 29 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 PHP
PHP设计模式之PHP迭代器模式讲解
Mar 22 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 #PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 #PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 #PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 #PHP
php使用ereg验证文件上传的方法
Dec 16 #PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 #PHP
php中最简单的字符串匹配算法
Dec 16 #PHP
You might like
php 归并排序 数组交集
2011/05/10 PHP
浅谈php命令行用法
2015/02/04 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
php微信开发之谷歌测距
2018/06/14 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
python内置数据类型之列表操作
2018/11/12 Python
python3.5安装python3-tk详解
2019/04/26 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
python求解汉诺塔游戏
2020/07/09 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
如何进行Linux分区优化
2016/09/13 面试题
体育教师工作总结的自我评价
2013/10/10 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
八年级数学教学反思
2014/01/31 职场文书
一年级班主任感言
2014/03/08 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
银行安全保卫工作总结
2015/08/10 职场文书