<?php
define('TOKEN','xxxxxx');
$wx = new Wx();
if(isset($_GET['echostr'])){
$wx->vaild();
}else{
$wx->send();
}
class Wx{
public function vaild(){
if($this->check()){
echo $_GET['echostr'];
exit;
}
}
public function check(){
$signature = $_GET['signature'];
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = TOKEN;
$tmpArr= array($token,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr =sha1($tmpStr);
if($tmpStr == $signature){
return true;
}else{
return false;
}
}
public function send(){
$msgxml = file_get_contents("php://input");
if(!empty($msgxml)){
$msgObj= simplexml_load_string($msgxml, 'SimpleXMLElement', LIBXML_NOCDATA);
file_put_contents("rao.txt",$msgObj);
$fromusername = $msgObj->FromUserName;
$tousername = $msgObj->ToUserName;
$time = time();
if($msgObj->MsgType != 'text'){
$content ='不要动不动发图片 好么?';
}else{
$content = $msgObj->Content;
}
$tpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$msg = sprintf($tpl,$fromusername,$tousername,$time,$content);
echo $msg;
exit;
}
}
}
简单的微信接口验证
最新推荐文章于 2024-06-26 13:57:42 发布
本文详细介绍了如何进行微信接口的验证过程,包括获取access_token的步骤、签名算法的实现以及回调URL的设置,帮助开发者理解并安全地使用微信API。
3931

被折叠的 条评论
为什么被折叠?



