<?php /** * Token * * 令牌类,避免CSFR/XSFR、会话劫持、固定攻击、表单伪造攻击等。 * 使用方法: * 1.提交页面获取Token,并赋值到隐藏域中,获取Token代码如下: * $token_value = Utils_Token::getInstance()->gen_token(); * 2.提交后在Action页面验证Token,根据返回值进行相应页面处理,验证代码如下: * $isValid = Utils_Token::getInstance()->validate($token_value); * 3.验证失败也可直接指定跳转URL如: * Utils_Token::getInstance()->validate($token_value,'http://xx.xxx.com') * * @package Utils * @author 张东宇 * @version 1.0 * @example * $token_value = Utils_Token::getInstance()->gen_token(); //获取Token * echo 'TOKEN_VALUE:'.$token_value.'<br>'; //打印Token * $checkValue = Utils_Token::getInstance()->validate($token_value);//验证令牌 * echo $checkValue;//验证结果:1-成功 0-失败 * */ class Utils_Token { const TOKEN_NAME = 'TOKEN'; // 令牌名 private static $instance; // 类实例 private function __construct() { // 构造函数 } /** * 获取令牌类实例 * * @access public * @return Token Utils_Token 实例 */ public static function getInstance() { if (! isset ( $_SESSION )) session_start (); if (! isset ( self::$instance )) return new Utils_Token (); else return self::$instance; } /** * 生成令牌,供表单或其他业务逻辑使用 * * @access public * @return string 令牌值 */ public function gen_token() { $hash = md5 ( uniqid ( rand () . 'WXT', true ) ); $n = rand ( 0, 24 ); $token = substr ( $hash, $n, 8 ); $this->_tokenValue = $token; $this->destroy_token (); $_SESSION [self::TOKEN_NAME] = $this->_tokenValue; return $token; } /** * 销毁令牌 * * @access private * @return void */ private function destroy_token() { if ($_SESSION [self::TOKEN_NAME]) unset ( $_SESSION [self::TOKEN_NAME] ); } /** * 检测令牌是否有效 * * @access public * @param string $token * 令牌值 * @param string $url * 校验失败跳转URL * @return boolean 1-校验成功 0-校验失败 * */ public function validate($token, $url = '') { if ($token == $_SESSION [self::TOKEN_NAME]) { $this->destroy_token (); return 1; } elseif ($url) { $this->destroy_token (); Header ( "Location: $url" ); } else { $this->destroy_token (); return 0; } } } /* $token_value = Utils_Token::getInstance()->gen_token(); //获取Token echo 'TOKEN_VALUE:'.$token_value.'<br>'; //打印Token $checkValue = Utils_Token::getInstance()->validate($token_value);//验证令牌 echo $checkValue;//验证结果:1-成功 0-失败 */
相关推荐
新浪云应用sae的代码里创建一个weixin.php文件,写入以下代码 define(TOKEN,myToken);// 后台填写的token,在微信公众平台启用 $wechatObj = new wechatAPI(); $wechatObj->isValid(); class wechatAPI { public ...
Android客户端服务器令牌认证第一步是在您的http服务器上设置php文件。 这可能类似于NGINX或... 当令牌没有数学运算时,print_r是您想要发送回应用程序的任何消息exit(0)将停止其余的php文件,因为它们尚未经过验
简介: 该框架是基于thinkphp 3.1.2开发 结构 1.WeixinAction.class.php 此文件中的类是微信入口文件的基类,它提供了微信的一些基础功能,继承了...TOKEN 自定义的token值 baseurl 网站地址,如http://www.xxx.com
安装npm install --save shopify-token原料药该模块导出一个类,该类的构造函数带有一个options对象。new ShopifyToken(options) 创建一个新的ShopifyToken实例。争论options一个普通JavaScript对象,例如{ apiKey: ...
新浪云应用sae的代码里创建一个weixin.php文件,写入以下代码 define("TOKEN","myToken");// 后台填写的token,在微信公众平台启用 $wechatObj = new wechatAPI(); $wechatObj->isValid(); class wechatAPI { ...
该软件包将解码传入的HTTP请求,以提取“ ApiToken”作为您的应用程序可以使用PHP对象。它带有内置的解码器,用于:基本认证API密钥JWT(Auth0,Firebase)因此,您可以毫不费力地开始支持所有这些策略。它还提供了...
通过上面的语法,您能够使用84PHP中所有的功能:数据库、文件操作、图像处理、上传下载、发送请求、接收请求、Session管理(Token)、随机数生成,以及各种各样的可选模块。 Q:84PHP有安全措施吗?运行效率高吗? A...
包含: USD,BTC,ETH,XRP,LTC,BCH,AUD,BRL,CAD,CHF,CLP,CNY,CZK,DKK,EUR,GBP,HKD,HUF,IDR,ILS,INR,JPY,KRW,MXN,MYR, Nok,NZD,PHP,PKR,PLN,RUB,SEK,SGD,THB,尝试,TWD和ZAR ---- ...
HMS Pushkit PHP服务器 English | 目录 介绍 PHP示例代码封装了HUAWEI Push Kit服务器的API,并提供了许多关于快速访问HUAWEI Push Kit的示例PHP程序,供您参考或使用。... access_token 华为OAuth 2
git clone https://github.com/ReeceM/laravel-token-demo.git 然后,您要安装作曲家文件: composer install 确保您具有数据库和设置(如dev.to文章中所述),然后运行: php artisan migrate 变更日志 有
TwitchTokenGenerator 上存在一个 API,允许在应用程序中创建令牌和实现。 该 API 目前在 TwitchLib 中实现。 API 的工作流程如下所示: Ping 创建端点以获取要提供给用户的链接: 创建端点: ...
令牌应用程序-Node.js 您需要在计算机上安装Node.js ( )。 在./token/node项目目录中创建config.json文件,并用数据填充它: { "HTTP_PORT": 8080, "INFOBIP_API_HOST": "api.infobip.com", "INFOBIP_RTC_...
本文实例讲述了php的sso单点登录实现方法。分享给大家供大家参考。具体分析如下: ...index.php 应用程序页面: 复制代码 代码如下:<?php header(‘Content-Type:text/html; charset=utf-8’); $s
“接口绑定”栏目查看“接口 URL”和“token”,然后在微信公众平台”开发”-“基本配置”栏目填写该参数,设置成功后一般等一分钟会生效。 然后发起图片投票,填写相关信息和图片。“活动关键词”是指你在微信...
“接口绑定”栏目查看“接口 URL”和“token”,然后在微信公众平台”开发”-“基本配置”栏目填写该参数,设置成功后一般等一分钟会生效。 然后发起图片投票,填写相关信息和图片。“活动关键词”是指你在微信...
关于苹果授权,官方文档写的不仔细,但还是要看一下 https://developer.apple.com/sign-in-with-apple/get-started/ 后端验证苹果授权用户正确...安装PHP扩展包(支持php5.6及以上):composer require wubuwei/php-apple
PHP接入百度人脸识别,供大家参考,具体内容如下 1.注册百度开发者账号。 https://login.bce.baidu.com/?account= 注册登录成功后,进入控制台,在左边的导航栏找到产品-》人工智能-》人脸识别: 创建应用。创建...
获取access_token,在授权成功的回调页面中,调用$sdk->getAccessToken($code, $extend)方法来获取access_token。(可参考DEMO中的Index/callback方法) 6,调用API方法 成功获取到access_token之后就可以调用...
微信access_token获取功能:可让本系统作为中控服务器统一获取和刷新access_token,其他业务逻辑站点所使用的access_token均调用当前站点获取,这样可避免各自刷新造成冲突,导致access_token覆盖而影响业务。...
如果每天订单量很大的应用,就不用考虑了,有需要的拿去研究 安装教程 下载安装包,放在网站根目录 导入数据库文件 修改 config 目录下的 database.php 文件,配置数据库信息 进入 application 目录下的 common.php...