Update wechat.lib.php

src
pfspx4a7z 2 months ago
parent ea45a97354
commit 6e32234adf

@ -3,7 +3,7 @@
namespace LaneWeChat\Core;
// Wechat类定义用于处理微信相关功能
class Wechat{
class Wechat {
// 私有属性,用于调试模式和请求数据
private $debug;
private $request;
@ -65,8 +65,7 @@ class Wechat{
}
// 公共方法checkSignature用于检查签名
public function checkSignature()
{
public function checkSignature() {
// 获取微信服务器发送的signature、timestamp、nonce参数
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
@ -78,17 +77,26 @@ class Wechat{
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
// 将组合后的字符串转为sha1签名
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
// 比较计算出的签名和微信服务器发送的签名
if( $tmpStr == $signature ){
if ($tmpStr == $signature) {
// 如果签名匹配返回echostr给微信服务器
echo $_GET['echostr'];
return true;
}else{
} else {
// 如果签名不匹配返回false
return false;
}
}
}
命名空间声明namespace LaneWeChat\Core; 定义了类的命名空间,用于组织代码。
类定义class Wechat 定义了一个用于处理微信相关功能的类。
私有属性private $debug; 和 private $request; 分别用于存储调试模式和请求数据。
构造函数public function __construct($token, $debug = FALSE) 初始化Wechat对象验证微信服务器的请求并解析微信发送的XML数据。
isValid方法private function isValid() 检查是否是微信服务器的验证请求。
validateSignature方法private function validateSignature($token) 验证微信服务器发送的签名。
getRequest方法protected function getRequest($param = FALSE) 获取请求参数,如果没有指定参数,则返回所有请求参数。
run方法public function run() 处理微信请求,根据请求类型分发处理。
checkSignature方法public function checkSignature() 检查签名,验证微信服务器发送的签名是否匹配。
Loading…
Cancel
Save