Red de Respuestas Legales - Derecho empresarial - Thinkphp3.2.3 siempre no puede acceder a la cuenta oficial de WeChat para responder a la autenticación del token enviada por WeChat.

Thinkphp3.2.3 siempre no puede acceder a la cuenta oficial de WeChat para responder a la autenticación del token enviada por WeChat.

¿Necesitas juzgar esa ficha? ¿No es necesario? Utilice esto y le garantizo su satisfacción.

<? Lenguaje de programación del lado del servidor (abreviatura de Preprocesador de hipertexto profesional)

¿Espacio de nombres? Inicio\Controlador;

¿Usar? Think\Controller;

¿Clase? ¿Controlador de índice? ¿extender? ¿Controlador de WeChat? {

Sr. ¿Función? índice(){

$v? =?$ _ GET[" echostr "];

If (!Isset($v)){// Determine si se ha verificado antes en función de la cadena aleatoria para evitar verificaciones repetidas.

$ this->recibir();

}else{

$ this->verificar firma();

}

}

//No verificado Realizar verificación

¿Público? ¿Función? checkSignature(){

$Firma? =?I("firma"); //Firma cifrada

$Marca de tiempo? =?I("Marca de tiempo"); //Marca de tiempo

$nonce? =?I(" nonce ");//Número aleatorio

$token? =?TOKEN//Token

$tmpArr? =?array($token,$timestamp,?$nonce); //Formar una nueva matriz

sort($tmpArr, SORT_STRING); //Reordenar

$tmpStr? =?implode($TM parr);//convertir a cadena

$tmpStr? =?sha 1($tmp str); // Luego cifra la cadena.

Si (?$tmpStr?==?$firma?)

{

¿Echo? $_GET[" echostr "];

Salir;

//¿Regresar? verdadero;

}de lo contrario{

¿Devolver? False;

}

}

//Verificado y ejecutado aquí.

¿Público? ¿Función? Recibir(){

$postStr? =?$ GLOBALS[" HTTP _ RAW _ POST _ DATA "] //Obtener el mensaje en formato xml enviado por el usuario.

//$postStr? =?file_get_contents("PHP://entrada");

libxml_disable_entity_loader(true);

$postObj? =?simplexml_load_string($postStr,?"SimpleXMLElement",LIBXML_NOCDATA);

$ this->logger($postStr);

//Y responda la información al usuario.

if(!empty($postObj)){

cambiar($post obj->MsgType){

caso? "Texto":

$Resultado? =?$ this-& gt;receive text($ post obj);

//Evita reportar información falsa.

if(vacío($resultado)){

$xml? =?"<xml>

<ToUserName><![CDATA[% s]]></nombre de usuario>

<fromusername& gt& lt! [CDATA[% s]]& gt;& lt /from nombre de usuario & gt;

& ltCreateTime & gt% s & lt/create time & gt;

& ltMsgType & gt& lt [CDATA[% s]]& gt; & lt/tipo de mensaje & gt;

& ltContenido& gt& lt! [CDATA[% s]]& gt;& lt/ Contenido>

</XML>";

$resultado? =?sprintf($xml, $post obj->FromUserName, $post obj->ToUserName, time(), $postObj->MsgType, "No obtener información de múltiples imágenes");

}

¿Eco? $ resultado

Rotura;

¿Caso? 【Imagen】:

$Resultado? =?$ esto-& gt;recibir imagen($ post obj);

if(empty($resultado)){

$xml? = " & ltxml & gt

& ltToUserName & gt& lt![CDATA[% s]]& gt;& lt/nombre de usuario & gt;

& ltfromusername& gt& lt! [ CDATA[% s]]& gt;& lt/from nombre de usuario & gt;

& ltCreateTime & gt% s & lt/create time & gt;

& ltMsgType & gt& lt ! [CDATA[% s]]& gt;& lt/tipo de mensaje & gt;

& ltArticleCount & gt1 & lt;/recuento de artículos & gt;

& ltArticle>

<item>

<Título><![CDATA[% s]]></Título>

& ltDescripción>& lt![CDATA[% s]]></Descripción>

& ltPicUrl>& lt! & lt/pic URL & gt;

& ltUrl & gt& lt! p>

& lt/item & gt;

& lt/Artículos & gt;

& lt/XML & gt;";

$ ¿Resultados? =?sprintf($xml, $ post obj-& gt; FromUserName, $ post obj-& gt; ToUserName, time(), "Noticias" "Hagamos el desarrollo de WeChat con Lao Li" "El desarrollo de WeChat es la plataforma pública de WeChat Desarrollado Para mostrar información, servicios, actividades y otros contenidos corporativos a través de las páginas web de WeChat, los usuarios pueden generar sitios web WeChat 3G a través de configuraciones simples. Mostrar marcas corporativas a los usuarios de WeChat a través de las plataformas públicas de WeChat, reducir los costos de publicidad y establecer relaciones entre empresas, consumidores y clientes. La interacción y la comunicación uno a uno conectan a los consumidores con el sistema CRM de la empresa para promoción, promoción, publicidad y posventa, formando un método de marketing interactivo WeChat en línea y fuera de línea convencional.

","/-po 3d sag _ xi4khgkpowk 1hf 6 hy/baike/w % 3d 268% 3Bg % 3d 0/signo = a 1070 f 7517 DFA 9 ecfd 2 e 5115aeb 903 e/b 03533 fa 828 ba 61 efb 07 a 5464738

}

¿Eco? $ resultado

Rotura;

¿Caso? "Evento":

$Resultado? =?$ esto-& gt;recibir evento($ post obj);

if(empty($resultado)){

$xml? =?"<xml>

<ToUserName><![CDATA[% s]]></nombre de usuario>

<fromusername& gt& lt! [CDATA[% s]]& gt;& lt /from nombre de usuario & gt;

& ltCreateTime & gt% s & lt/create time & gt;

& ltMsgType & gt& lt [CDATA[% s]]& gt; & lt/tipo de mensaje & gt;

& ltContenido& gt& lt! [CDATA[% s]]& gt;& lt/ Contenido>

</XML>";

$resultado? =?sprintf($xml, $ post obj->FromUserName, $post obj->ToUserName, time(), "text", "Gracias por prestar atención a la cuenta del servicio de prueba de la interfaz WeChat, ¡soy el profesor Li! ") ;

}

¿Eco? $ resultado

Rotura;

¿Rotura? :

$Resultado? =?"El tipo de datos que envió no se procesará temporalmente:?"? . ? $ post obj->MsgType

¿Echo? $ resultado

Pausa;

}

}

}

//Registro

¿Privado? ¿Función? Registrador($content){

$ logSize = 100000;

$log? =?"./log . txt ";

if(file_exists($log)?& amp& amp?Tamaño de archivo (log)?& gt?$logSize){

desvincular ($log);

}

File_upload_content($log,? date("Y-m-d?H:i:s")."?".$content.