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+mysql)
Nov 23 PHP
PHP Document 代码注释规范
Apr 13 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
php数组遍历类与用法示例
May 24 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
JavaScript 撑出页面文字换行
2009/06/15 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python实现自动化上线脚本的示例
2019/07/01 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
招标承诺书
2014/08/30 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
无犯罪记录证明
2014/09/19 职场文书
大学学生个人总结
2015/02/15 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis