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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php下几个常用的去空、分组、调试数组函数
Feb 22 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
php实现递归的三种基本方式
Jul 04 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
php中Redis的应用--消息传递
Mar 28 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
实例讲解PHP中使用命名空间
Jan 27 PHP
php源码的安装方法和实例
Sep 26 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
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
javascript add event remove event
2008/04/07 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
浅析JS运动
2015/12/28 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
python实现根据图标提取分类应用程序实例
2014/09/28 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
Ibatis如何使用动态表名
2015/07/12 面试题
如何实现一个自定义类的序列化
2012/05/22 面试题
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
矫正人员思想汇报
2014/01/08 职场文书
幼儿教师工作感言
2014/02/14 职场文书
五年级学生评语大全
2014/12/26 职场文书
2015年中个人总结范文
2015/03/10 职场文书