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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
php 学习资料零碎东西
Dec 04 PHP
php学习之变量的使用
May 29 PHP
php标签云的实现代码
Oct 10 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP 芝麻信用接入的注意事项
Dec 01 PHP
php的命名空间与自动加载实现方法
Aug 25 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
Zerg剧情介绍
2020/03/14 星际争霸
239军机修复记
2021/03/02 无线电
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
基于jQuery日历插件制作日历
2016/03/11 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python实现动态创建类的方法分析
2019/06/25 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
医药工作岗位求职信分享
2013/12/31 职场文书
教学质量评估实施方案
2014/03/17 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
老干部工作先进事迹
2014/08/17 职场文书
报到证办理个人委托书
2014/10/06 职场文书
职工年度考核评语
2014/12/31 职场文书
保护环境的宣传语
2015/07/13 职场文书
安全学习心得体会范文
2016/01/18 职场文书