微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
来源:互联网 发布:JAVA veCTor特有迭代器 编辑:程序博客网 时间:2024/05/16 04:57
<?php
/**
* wechat php test
*/
//define your token
define(“TOKEN”, “demo”);
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
//这个地方只需要验证一次就够了
//$wechatObj->responseMsg();
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 if (PHP_VERSION >= 7) { $postStr = file_get_contents('php://input'); } else { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; } //file_put_contents('999.txt', $postStr); //extract post data if (!empty($postStr)){ /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection, the best way is to check the validity of xml by yourself */ libxml_disable_entity_loader(true); $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 = "自动回复中你想输出的内容"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; }}private function checkSignature(){ // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; }}
}
阅读全文
0 0
- 微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
- 基于PHP的微信公众平台开发(TOKEN验证,消息回复)
- 微信token验证及回复内容
- 微信验证及自动回复
- 微信Token验证代码的实现
- 微信token验证代码
- TP5微信开发地址验证中的配置失败或者token验证失败的解决办法
- 微信开发中signature的验证,文本消息回复,单图文消息回复,多图文消息回复
- 微信开发之easyWchat服务器配置验证Token失败原因及解决办法
- 微信开发 修改url配置后token验证失败
- 微信公众号开发 配置服务器URL,验证Token
- 微信公众平台 开发者基本配置 token验证一直失败的时候
- 微信公众号验证token+关注回复+关键字回复+单图文回复
- .net微信 验证 Token完整代码
- 配置及验证token
- 微信Token验证
- 微信token验证
- 微信token验证
- 23种设计模式(1)-单例模式
- 证书文件编码格式介绍
- 安卓数据读写全解:SharedPreferences公共数据的读写,SQLiteDatabase数据库,mysql数据库
- shell:遍历目录和子目录的所有文件
- 架构师之路:Dubbo的分布式系统架构学习
- 微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
- Flink学习笔记:2、Flink介绍
- 求助SPI接口主模式电路设计
- android studio no debuggable processes
- 对如今手机的看法——仅兴趣
- 14-1
- poj 1422 Air Raid
- gcc编译报错-stary '\357' in program
- Linux作业5