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 相关文章推荐
一个高ai的分页函数和一个url函数
Oct 09 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
php 定义404页面的实现代码
Nov 19 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
PHP动态生成javascript文件的2个例子
Apr 11 PHP
PHP动态页生成静态页的3种常用方法
Nov 13 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
jquery等待效果示例
2014/05/01 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
pytorch进行上采样的种类实例
2020/02/18 Python
python数据分析:关键字提取方式
2020/02/24 Python
如何理解python对象
2020/06/21 Python
2014年客服工作总结与计划
2014/12/09 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
社会实践单位意见
2015/06/05 职场文书
高老头读书笔记
2015/06/30 职场文书
运动会200米广播稿
2015/08/19 职场文书
商业计划书之服装
2019/09/09 职场文书