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 相关文章推荐
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
第六章 php目录与文件操作
Dec 30 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
学习php中的正则表达式
Aug 17 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
php array_key_exists() 与 isset() 的区别
Oct 24 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
Jun 11 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
PHP如何防止用户重复提交表单
Dec 09 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
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
python实现textrank关键词提取
2018/06/22 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python饼状图的绘制实例
2019/01/15 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
python将视频转换为全字符视频
2019/04/26 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
物流管理应届生求职信
2013/11/07 职场文书
家具促销活动方案
2014/02/16 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
保护动物倡议书
2014/04/15 职场文书
《画家乡》教学反思
2014/04/22 职场文书
建筑工地宣传标语
2014/06/18 职场文书
党员民主评议自我评价
2014/10/20 职场文书
会计工作检讨书
2015/02/19 职场文书
公司催款律师函
2015/05/27 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Python数据结构之队列详解
2022/03/21 Python
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL