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 相关文章推荐
收集的php编写大型网站问题集
Mar 06 PHP
php自动适应范围的分页代码
Aug 05 PHP
PHP集成FCK的函数代码
Sep 27 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
wordpress安装过程中遇到中文乱码的处理方法
Apr 21 PHP
详解PHP中的状态模式编程
Aug 11 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
Jun 07 PHP
php app支付宝回调(异步通知)详解
Jul 25 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
把77A收信机改造成收音机
2021/03/02 无线电
如何使用PHP中的字符串函数
2006/10/09 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
Python多进程原理与用法分析
2018/08/21 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
大学生毕业自我鉴定范文
2014/02/03 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
商场消防演习方案
2014/02/12 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS