微信公众号服务器配置

如图

image

在设置URL 时候,微信会给你的url以GET方式传入 signature timestamp nonce echostr几个值,和验证token处理数据返回的echostr

代码如下 (我添加了写入日志文件的 操作)

        $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
        $fp = fopen($DOCUMENT_ROOT.'/aaa.txt','a');
        fwrite($fp, '测试写入 - '.date('Y-m-d H:i:s')."\n");
         
        
        
        // 微信token认证
        $signature = $_GET["signature"] ?  $_GET["signature"] : '';
        $timestamp = $_GET["timestamp"] ?  $_GET["timestamp"] : '' ;
        $nonce = $_GET["nonce"]  ? $_GET["nonce"] : ''  ;
        $echostr = $_GET["echostr"] ? $_GET["echostr"] : ''  ;
        // 你在微信公众号后台的设置的Token
        
        fwrite($fp, '测试写入 - '.$signature."\n");
        fwrite($fp, '测试写入 - '.$timestamp."\n");
        fwrite($fp, '测试写入 - '.$nonce."\n");
        fwrite($fp, '测试写入 - '.$echostr."\n");
        
         
         
         
        $token = "ffsgdfsgfsadsadasd";
        
        // 1)将token、timestamp、nonce三个参数进行字典序排序
        $tmpArr = array($nonce, $token, $timestamp);
        sort($tmpArr, SORT_STRING);
        
        // 2)将三个参数字符串拼接成一个字符串进行sha1加密
        $str = implode($tmpArr);
        $sign = sha1($str);
        
        // 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
        if ($sign == $signature) {
            // echo $echostr;
            return $echostr; 
        }
        

posted @   79524795  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2023-04-01 Uniapp 图片上放另一个图片
2022-04-01 TP6获取器使用案例
2022-04-01 php写日志
2021-04-01 General error: 1364 Field 'id' doesn't have a default value
点击右上角即可分享
微信分享提示