登录  /  注册
博主信息
博文 175
粉丝 1
评论 0
访问量 376961
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
微信公众号基础配置
dxp2tq的博客
原创
1752人浏览过

微信公众号开发启用服务器配置提交token验证失败

处理方式如下:


<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/6/12
* Time: 15:40
*/

/**
* wechat php test
*/
//url               http://域名/wxtest.php
//token             weixin
//EncodingAESKey    随机生成
//加密方式          明文

//wxtest.php文件


//你自己设置的token(自定义的)

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->valid();


class wechatCallbackapiTest
{

   public function valid()

   {

       $echoStr = $_GET["echostr"];


       //valid signature , option

       if ($this->checkSignature()) {

           echo $echoStr;

           exit;

       }

   }


   public function responseMsg()

   {

       //get post data, May be due to the different environments

       $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];


       //extract post data

       if (!empty($postStr)) {


           $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

           $fromUsername = $postObj->FromUserName;

           $toUsername = $postObj->ToUserName;

           $keyword = trim($postObj->Content);

           $time = time();

           $textTpl = "<xml>

                           <ToUserName><![CDATA[%s]]></ToUserName>

                           <FromUserName><![CDATA[%s]]></FromUserName>

                           <CreateTime>%s</CreateTime>

                           <MsgType><![CDATA[%s]]></MsgType>

                           <Content><![CDATA[%s]]></Content>

                           <FuncFlag>0</FuncFlag>

                           </xml>";

           if (!empty($keyword)) {
               $msgType = "text";

               $contentStr = "Welcome to wechat world!";

               $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

               echo $resultStr;

           } else {

               echo "Input something...";

           }


       } else {

           echo "";

           exit;

       }

   }


   private function checkSignature()

   {

       $signature = $_GET["signature"];

       $timestamp = $_GET["timestamp"];

       $nonce = $_GET["nonce"];


       $token = TOKEN;

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

       sort($tmpArr);

       $tmpStr = implode($tmpArr);

       $tmpStr = sha1($tmpStr);


       if ($tmpStr == $signature) {

           return true;

       } else {

           return false;

       }

   }

}

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学