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 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
php魔术变量用法实例详解
Nov 13 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
浅谈Laravel核心解读之Console内核
Dec 02 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 json_encode奇怪问题说明
2011/09/27 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
Python中使用Inotify监控文件实例
2015/02/14 Python
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
师生聚会感言
2014/01/26 职场文书
副总经理岗位职责
2015/02/02 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
Go 语言中 20 个占位符的整理
2021/10/16 Golang