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 面向对象实现代码
Nov 11 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
CI框架中zip类应用示例
Jun 17 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
基于swoole实现多人聊天室
Jun 14 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 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面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
python实现堆栈与队列的方法
2015/01/15 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
优秀学生干部先进事迹材料
2014/05/26 职场文书
新文化运动的口号
2014/06/21 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
《窃读记》教学反思
2016/02/18 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS