点击数:344 发布时间:2013-02-21 15:35:49 来源: Aliensoft微信云
公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:
* signature — 微信加密签名
* timestamp — 时间戳
* nonce — 随机数
* echostr — 随机字符串
开发者通过检验signature对网址接入合法性进行校验。若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败。 验证signature将结合开发者填写的token参数、timestamp参数和nonce参数等,加密流程:
* 将token、timestamp、nonce三个参数进行字典序排序
* 将三个参数字符串拼接成一个字符串进行sha1加密
* 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
常见的token验证不过的原因有以下几点,请检查:
1.url是否有拼写,标点错误,导致验证字符串无法发送到接口文件。
2.文件开头是否有验证逻辑错误。
3.字符编码是否有错误。
开放实例(标准文件验证部分):
define("TOKEN", "token");
$wechatObj = new wechatCallbackapiTest();
if($_GET["echostr"]){
$wechatObj->valid();
exit;
}
else{
$wechatObj->responseMsg();
}
define("TOKEN", "token");