美文网首页
表单令牌

表单令牌

作者: Hoe王666 | 来源:发表于2018-01-15 11:04 被阅读0次

首先在项目function.php 定义几个方法。

//创建TOKEN

function creatToken() {    

$code = chr(mt_rand(0xB0,0xF7)) . chr(mt_rand(0xA1,0xFE)) . chr(mt_rand(0xB0,0xF7)) . chr(mt_rand(0xA1,0xFE)) . chr(mt_rand(0xB0,0xF7)) . chr(mt_rand(0xA1,0xFE));    session('TOKEN', authcode($code));}//判断TOKENfunction checkToken($token) {if($token == session('TOKEN')) {        session('TOKEN',NULL);returnTRUE;    }else{returnFALSE;    }}

/* 加密TOKEN */

function authcode($str) {    

$key ="ANDIAMON";    

$str = substr(md5($str),8,10);

returnmd5($key . $str);}

在需要防止重复提交的表单form中加入相关代码

...

1.在页面展示前调用creatToken()方法生成token。

2.在相应控制器POST请求中 使用 checkToken() 进行判断是否重复提交。

if(IS_POST)

{

//防止重复提交 如果重复提交跳转至相关页面if(!checkToken($_POST['TOKEN'])) 

{

    $this->redirect('index/index');return;            

}

//下面相关业务代码

}else{

//创建token

creatToken();

;$this->display();}

相关文章

  • 表单令牌

    首先在项目function.php 定义几个方法。 //创建TOKEN function creatToken()...

  • struts令牌标签

    令牌标签 令牌标签:作用是防止表单重复提交(F5)令牌标签的使用: 在网页的form中增加令牌标签 需要在acti...

  • Flask中的flask_wtf使用

    简介:Flask-WTF是集成WTForms,并带有 csrf 令牌的安全表单和全局的 csrf 保护的功能。每次...

  • Thinkphp5 表单令牌验证

    官方网站的说明真让人无语,不废话 直接给例子 ================写给评论1楼的家伙=========...

  • thinkphp相对laravel的区别

    以下针对tp框架的优势描述: 表单令牌 路由tp 支持三种路由模式, URL对SEO友好laravel 只支持强...

  • 解决ThinkPHP 5.1表单令牌Token失效问题

    ThinkPHP出于安全的考虑增加了表单令牌Token,由于通过Ajax异步更新数据仅仅部分页面刷新数据,就导致了...

  • 令牌撤销 Endpoint

    layout: docs-default 令牌撤销 这个endpoint用来撤销访问令牌(仅参考令牌)和更新令牌。...

  • 解决表单重复提交

    最安全正确方式 解决表单重复提交在服务器端生成一个唯一标识 令牌 token同时在当前用户的session中保存这...

  • Nginx 限流配置(转)

    限流算法: 1. 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;...

  • Nginx限流配置(转载)

    1、限流算法 令牌桶算法 算法思想是:a、令牌以固定速率产生,并缓存到令牌桶中;b、令牌桶放满时,多余的令牌被丢弃...

网友评论

      本文标题:表单令牌

      本文链接:https://www.haomeiwen.com/subject/lyuroxtx.html