66 行
3.0 KiB
PHP
可执行文件
66 行
3.0 KiB
PHP
可执行文件
<?php
|
|
|
|
namespace WxApi\Controller;
|
|
|
|
use Think\Controller;
|
|
|
|
//[1.4.46]
|
|
class AuthController extends Controller
|
|
{
|
|
/*
|
|
* @parem $data 开发平台处理请求显示
|
|
*/
|
|
public function index()
|
|
{
|
|
//获取开放平台
|
|
$appinfo = M('appweixin')->find();
|
|
// $appinfo = array(
|
|
// 'appid' => 'wx3cb026341a1bb6d7',
|
|
// 'token' => 'PHl1K2kQk3q25531T2l0Q63t55Q1KQ7l',
|
|
// 'encodingaeskey' => 'ms4eu3mLmPJ3exjGfLF348Fgfd9u8fuDcX8GnNU93fN',
|
|
// );
|
|
Vendor('php.wxBizMsgCrypt');
|
|
//获取微信推送的tiken值
|
|
//获取几个基本参数
|
|
$timeStamp = empty($_GET['timestamp']) ? "" : trim($_GET['timestamp']);
|
|
$nonce = empty($_GET['nonce']) ? "" : trim($_GET['nonce']);
|
|
$msg_sign = empty($_GET['msg_signature']) ? "" : trim($_GET['msg_signature']);
|
|
$encryptMsg = file_get_contents('php://input');
|
|
// $encryptMsg = "<xml><AppId><![CDATA[wx3cb026341a1bb6d7]]></AppId><Encrypt><![CDATA[QmnmNLGFAZHeaRBIkfX3tkmvxWV6o5niwviNq9eklkZqFR8Shh28d1SfJRzlAcb0Kj5GFuM0zKYUD0Qd6fq4HmEuKvYHICPi9ef5z0Pqr3CVR/l5oNwdG4hxrtQZ9N4VzzBLTqdxLtUjzqAeh5cCb//n3kkqVMSC4bffG7DNBXKOzCB73GoUVqLyu4W8B9/3+pYJ9xD3OwOv+p5LsYKLyL4MhZHQ47TEvGaPGTTn9928DPGlAekAkFMo2mK0TbhNBudL2WQyisXQvUBWV/2ZMUDq+5w6KLLVVCkHTuKvxw24p7Tuxo18itLk+q9bA5ZLGdEB0v4FU+g9z0TWVoNQQou/S6yXId1b75paIj3CRqu6mx6fE9rvRLgxAn4bLexDdHYrU9Do4qmS+nmMUVOBPGsOrmwzc0DD8HJifuZswGAv/SdOMsbhvCWDM/jwnykObSkhy9jY+mqf4IL4LcZQbw==]]></Encrypt></xml>";
|
|
// file_put_contents("./open.txt", 'encryptMsg: ' . $encryptMsg . "\r\n", FILE_APPEND);
|
|
|
|
//实例化加密类
|
|
$pc = new \wxBizMsgCrypt($appinfo['token'], $appinfo['encodingaeskey'], $appinfo['appid']);
|
|
$xml_tree = new \DOMDocument();
|
|
$xml_tree->loadXML($encryptMsg);
|
|
$array_e = $xml_tree->getElementsByTagName('Encrypt');
|
|
|
|
$encrypt = $array_e->item(0)->nodeValue;
|
|
$format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";
|
|
$from_xml = sprintf($format, $encrypt);
|
|
|
|
$msg = '';
|
|
$errCode = $pc->decryptMsg($msg_sign, $timeStamp, $nonce, $from_xml, $msg);
|
|
$component_verify_ticket = "";
|
|
// file_put_contents("./open.txt", json_encode($appinfo));
|
|
// print_r($appinfo);
|
|
if ($errCode == 0) {
|
|
$xml = new \DOMDocument();
|
|
$xml->loadXML($msg);
|
|
$array_e = $xml->getElementsByTagName('ComponentVerifyTicket');
|
|
$component_verify_ticket = $array_e->item(0)->nodeValue;
|
|
echo "success";
|
|
} else {
|
|
echo "false";
|
|
}
|
|
//将结果储存在数据库
|
|
$app = M('appweixin');
|
|
$datas['date_time'] = date('Y-m-d H:i:s', time());
|
|
$datas['errCode'] = $errCode;
|
|
if ($component_verify_ticket != null) {
|
|
$datas['component_verify_ticket'] = $component_verify_ticket;
|
|
}
|
|
// print_r($datas);
|
|
$app->where('id=1')->save($datas);
|
|
}
|
|
} |