PHP使用token防止表单重复提交的方法


Posted in PHP onApril 07, 2016

本文实例讲述了PHP使用token防止表单重复提交的方法。分享给大家供大家参考,具体如下:

<?php
/*
* PHP使用token防止表单重复提交
* 此处理方法纯粹是为了给初学者参考
*/
session_start();
function set_token() {
  $_SESSION['token'] = md5(microtime(true));
}
function valid_token() {
  $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
  set_token();
  return $return;
}
//如果token为空则生成一个token
if(!isset($_SESSION['token']) || $_SESSION['token']=='') {
  set_token();
}
if(isset($_POST['test'])){
  if(!valid_token()){
    echo "token error";
  }else{
    echo '成功提交,Value:'.$_POST['test'];
  }
}
?>
<form method="post" action="">
  <input type="hidden" name="token" value="<?php echo $_SESSION['token']?>">
  <input type="text" name="test" value="Default">
  <input type="submit" value="提交" />
</form>

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

PHP 相关文章推荐
一个SQL管理员的web接口
Oct 09 PHP
将OICQ数据转成MYSQL数据
Oct 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 PHP
PHP Cookie学习笔记
Aug 23 PHP
php中namespace及use用法分析
Dec 06 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 #PHP
Linux下编译redis和phpredis的方法
Apr 07 #PHP
php 实现进制相互转换
Apr 07 #PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 #PHP
php制作简单模版引擎
Apr 07 #PHP
thinkphp框架下实现登录、注册、找回密码功能
Apr 06 #PHP
非常有用的9个PHP代码片段
Apr 06 #PHP
You might like
php中的常用魔术方法总结
2013/08/02 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
golang/python实现归并排序实例代码
2020/08/30 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
大专应届生个人简历的自我评价
2013/10/15 职场文书
季度思想汇报
2014/01/01 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
高中生逃课检讨书
2014/10/10 职场文书
企业2014年度工作总结
2014/12/10 职场文书
单位租车协议书
2015/01/29 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
致接力运动员加油稿
2015/07/21 职场文书
干部外出学习心得体会
2016/01/18 职场文书