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里的JS打印函数
Oct 09 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php join函数应用
May 04 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP PDO操作MySQL基础教程
Jun 05 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 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针对数字的加密解密类
2014/03/20 PHP
js loading加载效果实现代码
2009/11/24 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
python encode和decode的妙用
2009/09/02 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
学校节能宣传周活动总结
2014/07/09 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年电工工作总结
2014/11/20 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书