微信公众号申请服务器,微信公众号服务器接口验证示例

本文介绍了如何使用营业执照申请微信公众号并配置服务器,重点讲解了使用EasyWeChat开发时的服务器验证过程。按照微信开放文档,通过校验signature确保请求来自微信,实现服务器配置的正确验证。在成功验证后,可以进行下一步的微信公众号开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1aa19710a8bab3aba1b69e5a98d129cd.png

开发背景

今天用营业执照重新申请了一个微信公众号,然后在配置服务器的时候犯了难,因为打算使用EasyWeChat来开发,所以说得先配置服务器,这就让我犯了难,最后结合开发文档之后才研究出来了验证的套路,希望对你们有帮助。

配置信息

既然是微信公众号那自然得有一个微信公众号,然后在 开发->基本配置->填写服务器配置 里面配置好你的信息,加密方式建议选兼容模式(如果你会消息加密的话可以选安全模式)

d346720f471bf6997ad881536a2a2ad9.png

这时候点保存应该会提示token验证失败,那是因为微信去访问你填写的url了,所以我们需要去填代码了。

开始验证

以下内容来源于微信开放文档:

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

然后我们按照文档开始写代码,首先需要定义一个token的常量<?php

define("TOKEN", "与微信公众平台token一致");

然后我们把微信开放文档里面的那个校验函数贴进去,因为我们没有用面向对象,所以说不用加private修饰词function checkSignature()

{

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$token = TOKEN;

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr, SORT_STRING);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

最后一步我也是看了好久才看明白,说白了就是验证一下消息是不是来自微信,所以说一个判断就ok$echoStr = @$_GET["echostr"];

if(!empty($echoStr) && checkSignature()){

echo $echoStr;

exit;

}

测试代码

测试这个代码的话就只能在微信公众平台去保存了,看看是否能保存成功。如果保存成功了之后把echo $echoStr;注释掉,再次保存,如果保存失败了,那么就证明我们写的代码是对的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值