在微信认证配置url指向的文件中编写copy如下代码过去,该代码是php。
来源于网络,但是源博客地址找不到了,所以没法替你声明了。

<?php
 
//注释、代码维护:2ZW
 
// signature    微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
// timestamp    时间戳
// nonce    随机数
// echostr  随机字符串
 
// 开发者通过检验signature对请求进行校验(下面有校验方式)。
// 若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
 
//获得通过GET请求发送的微信服务器校验数据
$signature=$_GET["signature"];
$timestamp=$_GET["timestamp"];
$nonce=$_GET["nonce"];
 
// 1)将token、timestamp、nonce三个参数进行字典序排序 
// 2)将三个参数字符串拼接成一个字符串进行sha1加密 
// 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
 
//填写在微信公众平台服务器配置中填写的token
$token='Your token';
 
//第一部分:字典排序 
 
// 1)组合成一个数组
// 2)对数组元素进行升序排序
$tmpArr = array( $token,$timestamp,$nonce );
sort( $tmpArr );
 
// 第二部分:sha1加密
 
//把数组元素组成字符串
$tmpStr = implode( $tmpArr );
 
//sha1加密-安全哈希加密-Secure Hash Algorithm:不可逆
$tmpStr = sha1( $tmpStr );
 
//第三部分:到这里我们已经完成了校验的前两部分,排序以及加密,剩下的就是把加密完的本地字符串与get的微信服务器字符串进行比较
if($signature==$tmpStr){
 
    //如果校验正确,则原样返回echostr参数内容
    echo htmlspecialchars($_GET["echostr"]);
}
else{
    //反之不进行返回参数
    exit;
}

?>

其中需要注意的是,返回的这个地方

 echo htmlspecialchars($_GET["echostr"]);

我copy代码过来的时候是这样的,然后就一直报错。

 echo htmlspecialchars($_GET["echoStr"]);
{"ret":200302,"err_msg":"verify token fail"}

改一下就可以解决了。
实在不行就把if判断取消掉,直接return也行。

Logo

一站式 AI 云服务平台

更多推荐