php版微信公众平台开发之验证步骤实例详解


Posted in PHP onSeptember 23, 2016

本文实例讲述了php版微信公众平台开发之验证步骤。分享给大家供大家参考,具体如下:

微信公众平台开发我们现在做得比较多了,这里给各位介绍的是一个入门级别的微信公众平台验证基础知识了,有兴趣的和小编来看看。

开发微信的时候 需要验证一下,在官方开发者中心哪里有可以下源代码,登录到 公众帐号后 看到左边的最下角有一个开发者中心点击,然后填写上你相对应的 Token 和 url 然后就可以验证成功的话就可以开发了.

下载微信php验证源代码在 开发者中心 - 开发者文档 - 接口消息 - 验证消息真实 - 拉到最下面就php演示代码.

下载好后代码如下:

<?php
/**
 * wechat php test
 * update time: 20141008
 */
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
 public function valid()
 {
  $echoStr = $_GET["echostr"];
  //valid signature , option
  if($this->checkSignature()){
  echo $echoStr;
  exit;
  }
 }
 public function responseMsg()
 {
 //get post data, May be due to the different environments
 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
  //extract post data
 if (!emptyempty($postStr)){
    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $time = time();
    $textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if(!emptyempty( $keyword ))
    {
    $msgType = "text";
    $contentStr = "Welcome to wechat world!";
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }else{
    echo "Input something...";
    }
  }else {
  echo "";
  exit;
  }
 }
private function checkSignature()
{
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>

其中:TOKEN 修改为你自己想要的 然后在 开发者中心也要写一样的,在验证的过程中 $wechatObj->valid(); 这段代码不能去除这个是验证,验证成功后 我们就可以把 这段 $wechatObj->valid(); 这个注释掉了,然后使用 $wechatObj->responseMsg(); 来进行测试

注意:在开发的时候需要把 $wechatObj->valid(); 给注释掉,不然在手机测试的时候 会没有显示什么.

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP下用rmdir实现删除目录的三种方法小结
Apr 20 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
php常用字符串比较函数实例汇总
Nov 24 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 PHP
PHP架构及原理知识点详解
Dec 22 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
php使用glob函数遍历文件和目录详解
Sep 23 #PHP
php版微信发红包接口用法示例
Sep 23 #PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 #PHP
php版微信自动登录并获取昵称的方法
Sep 23 #PHP
php中使用websocket详解
Sep 23 #PHP
PHP用FTP类上传文件视频等的简单实现方法
Sep 23 #PHP
You might like
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
瀑布流布局代码一例
2014/04/11 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
python3中zip()函数使用详解
2018/06/29 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python中四舍五入的正确打开方式
2021/01/18 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
库房主管岗位职责
2013/12/31 职场文书
医院工作检讨书范文
2014/02/10 职场文书
《春雨》教学反思
2014/04/24 职场文书
销售求职信范文
2014/05/26 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android