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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
php adodb连接mssql解决乱码问题
Jun 12 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
PHP 导出Excel示例分享
Aug 18 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
Aug 01 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
Python实现购物车程序
2018/04/16 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
台湾旅游网站:灿星旅游
2018/10/11 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
讲座主持词
2014/03/20 职场文书
大学生新学期计划书
2014/04/28 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
python实现手机推送 代码也就10行左右
2022/04/12 Python
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers