微信公众平台接口开发-验证机制
来源:互联网 发布:mac颜色配置文件 编辑:程序博客网 时间:2024/05/04 19:08
微信公众平台接口开发-验证机制
一、注册微信公众平台账号
注册地址:https://mp.weixin.qq.com/cgi-bin/readtemplate?t=wxm2-realname-reg&lang=zh_CN
参数 描述 signature微信加密签名timestamp时间戳nonce随机数echostr随机字符串
登陆地址:https://mp.weixin.qq.com/
二、开启开发模式,接口文件验证代码:
开发模式的验证过程其实就是将GET的参数echostr值返回,最简单的就是
php:echo $_GET['echostr'];
asp:Response.Write(Request("echostr"))
这里需要注意到的是,微信公众平台接口所使用的编码为UTF-8。这种方式与配置的TOKEN无关,即使你随便填写一个TOKEN值也可以成功验证。
完整的验证机制
公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
加密/校验流程:1. 将token、timestamp、nonce三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行sha1加密3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信加入微信官方提供的验证机制后,验证代码如下:
public function checkSignature(){
$signature = $_GET['signature']; //微信加密签名
$timestamp = $_GET['timestamp']; //时间戳
$nonce = $_GET['nonce']; //随机数
$echostr = $_GET['echostr']; //随机字符串
$token = TOKEN;
$tempArr = array($token,$timestamp,$nonce);
sort($tempArr);
if($signature ==sha1(implode($tempArr))){
echo $echostr;
}else{
exit();
}
}
0 0
- 微信公众平台接口开发-验证机制
- 微信公众平台接口开发-接入验证测试
- ASP微信公众平台接口开发
- 微信公众平台消息接口开发
- 微信公众平台接口开发基础
- 微信开发公众平台接口地址
- 微信公众平台开发:高级篇(微信公众平台接口开发:(1)启用接口)
- 微信公众平台开发第一步(Java)——接口验证问题
- 微信公众平台申请消息接口验证工具
- 微信公众平台接口程序验证通过
- 微信公众平台"服务号"接口验证 PHP版
- 微信公众平台开发----接入微信接口
- 微信公众平台开发:高级篇(微信公众平台开发模式接口限制)
- 微信公众平台开发:高级篇(微信公众平台接口开发:(4)天气预报(1))
- 微信公众平台开发:高级篇(微信公众平台接口开发:(5)股票查询)
- 微信 公众平台接口
- 微信公众平台开发[11]-开发模式-接口-翻译
- 微信公众平台开发[12]-开发模式-接口-天气
- Nova Mitaka 版本热迁移变化浅析
- DrawText参数介绍
- Linux学习--rsync+inotify实现数据实时同步
- Android 第六天重置版_Activity
- 12C-OCP升级1z-060-016
- 微信公众平台接口开发-验证机制
- Meta http-equiv属性详解(转)
- mac OS X 安装Tomcat
- Android图片切片控制与显示案例实战
- spring security 整合cas
- Delphi的内存分配和释放
- 程序员面试题精选100题(63)-数组中三个只出现一次的数字[算法]
- 人类注意力机制讨论
- Oracle安装与学习