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网站备份程序代码分享
Jun 10 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
解析php常用image图像函数集
Jun 24 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
php调用nginx的mod_zip模块打包ZIP文件
Jun 11 PHP
php实现在服务器端调整图片大小的方法
Jun 16 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
php日期操作技巧小结
Jun 25 PHP
Laravel学习教程之路由模块
Aug 18 PHP
PHP一个简单的无需刷新爬虫
Jan 05 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
php实现分页功能的详细实例方法
Sep 29 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/01 无线电
PHP重定向与伪静态区别
2017/02/19 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
深入理解react-router 路由的实现原理
2018/09/26 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
JS实现canvas简单小画板功能
2020/06/23 Javascript
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python之列表实现栈的工作功能
2019/01/28 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
Python while循环使用else语句代码实例
2020/02/07 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
电子商务应届生求职信
2013/11/16 职场文书
同学聚会策划方案
2014/06/06 职场文书
销售员岗位职责
2014/06/09 职场文书
专科生就业求职信
2014/06/22 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
聘任证明怎么写
2015/03/02 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
解读Vue组件注册方式
2021/05/15 Vue.js
python字符串的多行输出的实例详解
2021/06/08 Python
Python socket如何解析HTTP请求内容
2022/02/12 Python