文件
mashangyoujiu/Application/WxApi/Controller/AuthController.class.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);
}
}