php版微信公众平台入门教程之开发者认证的方法


Posted in PHP onSeptember 26, 2016

本文讲述了php版微信公众平台开发者认证的方法。分享给大家供大家参考,具体如下:

微信公众平台如何成为开发者?

登录微信公众平台后,点击高级功能=》开发模式=》成为开发者=》填写接口配置信息,提交后等待我司工作人员的审核.

1. 开发者认证

这个最简单了,直接上个超简单版代码:

exit($_GET['echostr']);

php文件就写上面这一句就行,微信公共平台随便填写token,写上php文件的url,然后验证即可通过,超级简单吧?官方的认证根本没有必要,因为后面的步骤没有使用的验证签名的地方,所以这个地方为了图方便直接输出返回值轻松通过验证,当然下面也给出官方要求的认证代码:

$token='11';
$signarr=array($token,$_GET['timestamp'],$_GET['nonce']);
if($this->signnature($signarr,$_GET['signature'])){
  exit($_GET['echostr']);
}
function signnature($arr,$signature){
  sort($arr);
  if(sha1(implode($arr))==$signature) return true;
  return false;
}

把上面的代码保存成php文件,在微信公共平台设置同样的token,然后验证即可通过.

注:url是允许带get参数的

2. 网址接入:

公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:

* signature — 微信加密签名

* timestamp — 时间戳

* nonce — 随机数

* echostr — 随机字符串

开发者通过检验signature对网址接入合法性进行校验,若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败,验证signature将结合开发者填写的token参数、timestamp参数和nonce参数等.

3. 加密流程:

* 将token、timestamp、nonce三个参数进行字典序排序

* 将三个参数字符串拼接成一个字符串进行sha1加密

* 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信.

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

PHP 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
php下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
Php-Redis安装测试笔记
Mar 05 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 #PHP
PHP弱类型的安全问题详细总结
Sep 25 #PHP
php中mkdir()函数的权限问题分析
Sep 24 #PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 #PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 #PHP
php fread读取文件注意事项
Sep 24 #PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 #PHP
You might like
中国收音机工业发展史
2021/03/02 无线电
php array_unique之后json_encode需要注意
2011/01/02 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
Python中asyncore的用法实例
2014/09/29 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
毕业生写求职信的要点
2014/03/04 职场文书
小学生环保标语
2014/06/13 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
Go语言安装并操作redis的go-redis库
2022/04/14 Golang