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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
基于mysql的论坛(3)
Oct 09 PHP
使用adodb lite解决问题
Dec 31 PHP
模拟flock实现文件锁定
Feb 14 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
PHP IN_ARRAY 函数使用注意事项
Jul 24 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
PHP 读取和编写 XML
Nov 19 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
php eval函数一句话木马代码
May 21 PHP
PHP的几个常用加密函数
Feb 03 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 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
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php操作MongoDB类实例
2015/06/17 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
详解php协程知识点
2018/09/21 PHP
javascript函数库-集合框架
2007/04/27 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
Python语法快速入门指南
2015/10/12 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
新大陆软件面试题
2016/11/24 面试题
公司道歉信范文
2014/01/09 职场文书
地质灾害防治方案
2014/05/14 职场文书
青年文明号口号
2014/06/17 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技
MySQL数据库表约束讲解
2022/06/21 MySQL