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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
也谈php网站在线人数统计
Apr 09 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
php实现图片等比例缩放代码
Jul 23 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
PHP使用函数用法详解
Sep 30 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
Jquery遍历节点的方法小集
2014/01/22 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
jQuery.each使用详解
2015/07/07 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python爬取三国演义的实现方法
2016/09/12 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python文件拆分与重组实例
2018/12/10 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
人代会标语
2014/06/30 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书