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类的使用 实例代码讲解
Dec 28 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
Laravel 前端资源配置教程
Oct 18 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 处理图片的类实现代码
2009/10/23 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python2 与python3的print区别小结
2018/01/16 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
法雷奥SQA(electric)面试问题
2016/01/23 面试题
党校培训思想汇报
2014/01/03 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
销售员岗位职责
2015/02/10 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
mysql 获取相邻数据项
2022/05/11 MySQL