微信Token验证-创新互联

在离石等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站设计 网站设计制作按需策划,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸网站制作,离石网站建设费用合理。

traceHttp();

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();

if (isset($_GET['echostr'])) {

  $wechatObj->valid();

}else{

  $wechatObj->responseMsg();

}

class wechatCallbackapiTest

{

  public function valid()

  {

    $echoStr = $_GET["echostr"];

    if($this->checkSignature()){

      echo $echoStr;

      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;

    }

  }

  public function responseMsg()

  {

    $postStr = $GLOBALS["HTTP_RAW_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 = "

            

            

            %s

            

            

            0

            ";

      if($keyword == "?" || $keyword == "?")

      {

        $msgType = "text";

        $contentStr = date("Y-m-d H:i:s",time());

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

        echo $resultStr;

      }

    }else{

      echo "";

      exit;

    }

  }

}

function traceHttp()

{

  logger("\n\nREMOTE_ADDR:".$_SERVER["REMOTE_ADDR"].(strstr($_SERVER["REMOTE_ADDR"],'101.226')? " FROM WeiXin": "Unknown IP"));

  logger("QUERY_STRING:".$_SERVER["QUERY_STRING"]);

}

function logger($log_content)

{

  if(isset($_SERVER['HTTP_APPNAME'])){  //SAE

    sae_set_display_errors(false);

    sae_debug($log_content);

    sae_set_display_errors(true);

  }else{ //LOCAL

    $max_size = 500000;

    $log_filename = "log.xml";

    if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}

    file_put_contents($log_filename, date('Y-m-d H:i:s').$log_content."\r\n", FILE_APPEND);

  }

}

?>

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:微信Token验证-创新互联
文章起源:http://myzitong.com/article/dhcdhe.html