diff --git a/application/api/common.php b/application/api/common.php index fffc0e1..d2702cf 100755 --- a/application/api/common.php +++ b/application/api/common.php @@ -143,3 +143,40 @@ if (!function_exists('get_ad')) { return $ad; } } + +if(!function_exists('curl_request')){ + //参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies + function curl_request($url,$post='',$cookie='', $returnCookie=0) + { + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $url); + curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($curl, CURLOPT_AUTOREFERER, 1); + curl_setopt($curl, CURLOPT_REFERER, "http://XXX"); + if($post) { + curl_setopt($curl, CURLOPT_POST, 1); + curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); + } + if($cookie) { + curl_setopt($curl, CURLOPT_COOKIE, $cookie); + } + curl_setopt($curl, CURLOPT_HEADER, $returnCookie); + curl_setopt($curl, CURLOPT_TIMEOUT, 10); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + $data = curl_exec($curl); + if (curl_errno($curl)) { + return curl_error($curl); + } + curl_close($curl); + if($returnCookie){ + list($header, $body) = explode("\r\n\r\n", $data, 2); + preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches); + $info['cookie'] = substr($matches[1][0], 1); + $info['content'] = $body; + return $info; + }else{ + return $data; + } + } +} diff --git a/application/api/controller/AuthController.php b/application/api/controller/AuthController.php index 86774f9..39b6fb0 100755 --- a/application/api/controller/AuthController.php +++ b/application/api/controller/AuthController.php @@ -100,7 +100,7 @@ class AuthController extends Controller $user_info = json_decode($val,true); $encryptedData=urldecode($encryptedData); $iv = urldecode($iv); - $pc = new WXBizDataCrypt($APPID['value'],$user_info['session_key']); + $pc = new WXBizDataCrypt($APPID,$user_info['session_key']); $errCode = $pc->decryptData($encryptedData,$iv,$data); $data1 = json_decode($data, true); $user_info['tel']=$data1['purePhoneNumber']; diff --git a/extend/tools/WXBizDataCrypt.php b/extend/tools/WXBizDataCrypt.php index 9957292..e93e2f8 100755 --- a/extend/tools/WXBizDataCrypt.php +++ b/extend/tools/WXBizDataCrypt.php @@ -49,8 +49,8 @@ class WXBizDataCrypt if (strlen($iv) != 24) { return ErrorCode::$IllegalIv; } - $aesIV=base64_decode($iv); - $aesCipher=base64_decode($encryptedData); + $aesIV=base64_decode(str_replace(" ","+",$iv)); + $aesCipher=base64_decode(str_replace(" ","+",$encryptedData)); $result=openssl_decrypt($aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV); $dataObj=json_decode($result); if( $dataObj == NULL ) diff --git a/runtime/log/202112/06.log b/runtime/log/202112/06.log new file mode 100644 index 0000000..c867d5c --- /dev/null +++ b/runtime/log/202112/06.log @@ -0,0 +1,180 @@ +--------------------------------------------------------------- + +[2021-12-06T08:14:26+08:00] 127.0.0.1 POST dgg-myyc-api.dggmyyc.com/home +[运行时间:2.835777s] [吞吐率:0.35req/s] [内存消耗:4,402.37kb] [文件加载:172] +[ info ] [ LANG ] /Library/WebServer/Documents/dggxiangmu/dggmyyc/thinkphp/lang/zh-cn.php +[ info ] [ ROUTE ] array ( + 'rule' => 'home', + 'route' => 'api/index/home', + 'option' => + array ( + 'merge_rule_regex' => false, + ), + 'var' => + array ( + ), +) +[ info ] [ HEADER ] array ( + 'host' => 'dgg-myyc-api.dggmyyc.com', + 'connection' => 'keep-alive', + 'content-length' => '178', + 'accept' => 'application/json, text/javascript, */*; q=0.01', + 'accept-encoding' => 'gzip, deflate', + 'accept-language' => 'zh-CN', + 'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundaryCNBrlXx5TezAbPq7', + 'origin' => 'http://dgg-myyc-api.dggmyyc.com', + 'user-agent' => 'ApiPOST Runtime +https://www.apipost.cn', +) +[ info ] [ PARAM ] array ( + 'uid' => '2a4eb822e3nPSOp2JWfzbQ273JoK2P+6bMhOfXxUbEVj', +) +[ info ] [ DB ] INIT mysql +[ sql ] [ DB ] CONNECT:[ UseTime:0.183870s ] mysql:host=114.215.82.135;port=3306;dbname=dgg_myyc;charset=utf8mb4 +[ sql ] [ SQL ] SHOW COLUMNS FROM `shop_config` [ RunTime:0.086026s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.085639s ] +[ sql ] [ SQL ] SHOW COLUMNS FROM `slide` [ RunTime:0.085191s ] +[ sql ] [ SQL ] SELECT * FROM `slide` WHERE ( ( alias="carousel" ) ) AND `slide`.`delete_time` = 0 ORDER BY `sort_number` DESC LIMIT 6 [ RunTime:0.083012s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.082519s ] +[ sql ] [ SQL ] SELECT * FROM `slide` WHERE ( ( alias="merchant" ) ) AND `slide`.`delete_time` = 0 ORDER BY `sort_number` DESC LIMIT 6 [ RunTime:0.083127s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.083799s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'shouyi' AND `name` = 'num' LIMIT 1 [ RunTime:0.082086s ] +[ sql ] [ SQL ] SHOW COLUMNS FROM `account_log` [ RunTime:0.084518s ] +[ sql ] [ SQL ] SELECT SUM(`change_amount`) AS tp_sum FROM `account_log` WHERE `source_type` IN (100,110,120) AND `user_id` = 1 AND `create_time` BETWEEN 1638720000 AND 1638806399 [ RunTime:0.082126s ] +[ sql ] [ SQL ] SELECT SUM(`change_amount`) AS tp_sum FROM `account_log` WHERE `source_type` IN (100,110,120) AND `user_id` = 1 AND `create_time` BETWEEN 1638633600 AND 1638719999 [ RunTime:0.082161s ] +[ sql ] [ SQL ] SELECT SUM(`change_amount`) AS tp_sum FROM `account_log` WHERE `source_type` = 100 AND `user_id` = 1 [ RunTime:0.082801s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'goods' AND `name` = 'is_open' LIMIT 1 [ RunTime:0.086438s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'goods' AND `name` = 'is_first' LIMIT 1 [ RunTime:0.083138s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'goods' AND `name` = 'goods_id' LIMIT 1 [ RunTime:0.082089s ] +[ sql ] [ SQL ] SHOW COLUMNS FROM `user` [ RunTime:0.085735s ] +[ sql ] [ SQL ] SELECT COUNT(*) AS tp_count FROM `user` WHERE ( `user_level_id` = 1 ) AND `user`.`delete_time` = 0 [ RunTime:0.082351s ] +[ sql ] [ SQL ] SHOW COLUMNS FROM `order` [ RunTime:0.084784s ] +[ sql ] [ SQL ] SELECT COUNT(*) AS tp_count FROM `order` WHERE ( `order_type` = 2 AND `goods_id` = 2 ) AND `order`.`delete_time` = 0 [ RunTime:0.083692s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'goods' AND `name` = 'day' LIMIT 1 [ RunTime:0.085675s ] +[ sql ] [ SQL ] SHOW COLUMNS FROM `goods` [ RunTime:0.084183s ] +[ sql ] [ SQL ] SELECT mi.thumb_image as img,`g`.`name` FROM `goods` `g` LEFT JOIN `mall_image` `mi` ON `mi`.`union_id`=g.id and is_cover=1 and mi.type=1 WHERE ( `g`.`id` = 2 ) AND `g`.`delete_time` = 0 LIMIT 1 [ RunTime:0.082224s ] +--------------------------------------------------------------- + +[2021-12-06T12:24:16+08:00] 127.0.0.1 POST dgg-myyc-api.dggmyyc.com/login +[运行时间:1.144226s] [吞吐率:0.87req/s] [内存消耗:4,250.78kb] [文件加载:167] +[ info ] [ LANG ] /Library/WebServer/Documents/dggxiangmu/dggmyyc/thinkphp/lang/zh-cn.php +[ info ] [ ROUTE ] array ( + 'rule' => 'login', + 'route' => 'api/auth/login', + 'option' => + array ( + 'merge_rule_regex' => false, + ), + 'var' => + array ( + ), +) +[ info ] [ HEADER ] array ( + 'host' => 'dgg-myyc-api.dggmyyc.com', + 'connection' => 'keep-alive', + 'content-length' => '1290', + 'accept' => 'application/json, text/javascript, */*; q=0.01', + 'accept-encoding' => 'gzip, deflate', + 'accept-language' => 'zh-CN', + 'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundaryzBUBjIeiTWMl1hph', + 'origin' => 'http://dgg-myyc-api.dggmyyc.com', + 'user-agent' => 'ApiPOST Runtime +https://www.apipost.cn', +) +[ info ] [ PARAM ] array ( + 'avatar' => 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132', + 'nickname' => '微信用户', + 'code' => '063PB5Ha1oZkeC0X4nFa1zGCu01PB5HS', + 'distribution_code' => '', + 'encryptedData' => 'tjngMwJOxaiVoxy2dAVhfs7WWDMPWS6QFk8LkTtILhqV+SrELq7AhbzrSQ5jCTgwnzHR+nWeyIPwyd6FOH9Z26LNO8Jz2ilrt9i/RsxJCMT1vRffgvWi8ove/PCM2Le257PZxGp/ICH7u13E3qSbBynma7VQXqOgSf6pEI7qmzvKTPKcyrlthdfvKhCXHBpZl3mTJwgvyf9jGlfwJ/Avylpoa/AHygUwrTIXjgFu1jDENeVEeInU6BV7vYN2DjZMFgrxHsLowrnF7Fw04H4mFlqRpbYZcRpL9MqyFAPzIm3P5nY5I22A2lLqajEfn8ZGZUKwflYmbmIKMXCojZQ/ZPsGdrDmD3bXe4yQhzYw2QxNBORCxNMSlXnCOoO3rWoU5I6qtbJy1vaAKTAc2ayrtw2xkN7xF1QjiWTkNIy0NC/aynMn0KD196Y0ZIEKD6lCgf2Q3tXnJSxg3edjz+9wzw==', + 'iv' => '2jp9lTDf1FVrS9NqkUD1mw==', +) +[ info ] [ DB ] INIT mysql +[ sql ] [ DB ] CONNECT:[ UseTime:0.143007s ] mysql:host=114.215.82.135;port=3306;dbname=dgg_myyc;charset=utf8mb4 +[ sql ] [ SQL ] SHOW COLUMNS FROM `shop_config` [ RunTime:0.097654s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.091882s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPID' LIMIT 1 [ RunTime:0.091806s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPSECRET' LIMIT 1 [ RunTime:0.094451s ] +[ error ] [0]致命错误: Call to undefined function app\api\controller\curl_request()[/Library/WebServer/Documents/dggxiangmu/dggmyyc/application/api/controller/AuthController.php:99] +--------------------------------------------------------------- + +[2021-12-06T12:25:02+08:00] 127.0.0.1 POST dgg-myyc-api.dggmyyc.com/login +[运行时间:1.258548s] [吞吐率:0.79req/s] [内存消耗:4,269.54kb] [文件加载:170] +[ info ] [ LANG ] /Library/WebServer/Documents/dggxiangmu/dggmyyc/thinkphp/lang/zh-cn.php +[ info ] [ ROUTE ] array ( + 'rule' => 'login', + 'route' => 'api/auth/login', + 'option' => + array ( + 'merge_rule_regex' => false, + ), + 'var' => + array ( + ), +) +[ info ] [ HEADER ] array ( + 'host' => 'dgg-myyc-api.dggmyyc.com', + 'connection' => 'keep-alive', + 'content-length' => '1290', + 'accept' => 'application/json, text/javascript, */*; q=0.01', + 'accept-encoding' => 'gzip, deflate', + 'accept-language' => 'zh-CN', + 'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundarytvAED0Vi1wduorwr', + 'origin' => 'http://dgg-myyc-api.dggmyyc.com', + 'user-agent' => 'ApiPOST Runtime +https://www.apipost.cn', +) +[ info ] [ PARAM ] array ( + 'avatar' => 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132', + 'nickname' => '微信用户', + 'code' => '063PB5Ha1oZkeC0X4nFa1zGCu01PB5HS', + 'distribution_code' => '', + 'encryptedData' => 'tjngMwJOxaiVoxy2dAVhfs7WWDMPWS6QFk8LkTtILhqV+SrELq7AhbzrSQ5jCTgwnzHR+nWeyIPwyd6FOH9Z26LNO8Jz2ilrt9i/RsxJCMT1vRffgvWi8ove/PCM2Le257PZxGp/ICH7u13E3qSbBynma7VQXqOgSf6pEI7qmzvKTPKcyrlthdfvKhCXHBpZl3mTJwgvyf9jGlfwJ/Avylpoa/AHygUwrTIXjgFu1jDENeVEeInU6BV7vYN2DjZMFgrxHsLowrnF7Fw04H4mFlqRpbYZcRpL9MqyFAPzIm3P5nY5I22A2lLqajEfn8ZGZUKwflYmbmIKMXCojZQ/ZPsGdrDmD3bXe4yQhzYw2QxNBORCxNMSlXnCOoO3rWoU5I6qtbJy1vaAKTAc2ayrtw2xkN7xF1QjiWTkNIy0NC/aynMn0KD196Y0ZIEKD6lCgf2Q3tXnJSxg3edjz+9wzw==', + 'iv' => '2jp9lTDf1FVrS9NqkUD1mw==', +) +[ info ] [ DB ] INIT mysql +[ sql ] [ DB ] CONNECT:[ UseTime:0.134227s ] mysql:host=114.215.82.135;port=3306;dbname=dgg_myyc;charset=utf8mb4 +[ sql ] [ SQL ] SHOW COLUMNS FROM `shop_config` [ RunTime:0.089628s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.087719s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPID' LIMIT 1 [ RunTime:0.088976s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPSECRET' LIMIT 1 [ RunTime:0.088503s ] +[ error ] [8]未定义数组索引: session_key[/Library/WebServer/Documents/dggxiangmu/dggmyyc/application/api/controller/AuthController.php:103] +--------------------------------------------------------------- + +[2021-12-06T12:40:19+08:00] 127.0.0.1 POST dgg-myyc-api.dggmyyc.com/login +[运行时间:1.345317s] [吞吐率:0.74req/s] [内存消耗:4,269.54kb] [文件加载:170] +[ info ] [ LANG ] /Library/WebServer/Documents/dggxiangmu/dggmyyc/thinkphp/lang/zh-cn.php +[ info ] [ ROUTE ] array ( + 'rule' => 'login', + 'route' => 'api/auth/login', + 'option' => + array ( + 'merge_rule_regex' => false, + ), + 'var' => + array ( + ), +) +[ info ] [ HEADER ] array ( + 'host' => 'dgg-myyc-api.dggmyyc.com', + 'connection' => 'keep-alive', + 'content-length' => '1290', + 'accept' => 'application/json, text/javascript, */*; q=0.01', + 'accept-encoding' => 'gzip, deflate', + 'accept-language' => 'zh-CN', + 'content-type' => 'multipart/form-data; boundary=----WebKitFormBoundaryZIgY8PFd6c3KJClG', + 'origin' => 'http://dgg-myyc-api.dggmyyc.com', + 'user-agent' => 'ApiPOST Runtime +https://www.apipost.cn', +) +[ info ] [ PARAM ] array ( + 'avatar' => 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132', + 'nickname' => '微信用户', + 'code' => '063PB5Ha1oZkeC0X4nFa1zGCu01PB5HS', + 'distribution_code' => '', + 'encryptedData' => 'tjngMwJOxaiVoxy2dAVhfs7WWDMPWS6QFk8LkTtILhqV+SrELq7AhbzrSQ5jCTgwnzHR+nWeyIPwyd6FOH9Z26LNO8Jz2ilrt9i/RsxJCMT1vRffgvWi8ove/PCM2Le257PZxGp/ICH7u13E3qSbBynma7VQXqOgSf6pEI7qmzvKTPKcyrlthdfvKhCXHBpZl3mTJwgvyf9jGlfwJ/Avylpoa/AHygUwrTIXjgFu1jDENeVEeInU6BV7vYN2DjZMFgrxHsLowrnF7Fw04H4mFlqRpbYZcRpL9MqyFAPzIm3P5nY5I22A2lLqajEfn8ZGZUKwflYmbmIKMXCojZQ/ZPsGdrDmD3bXe4yQhzYw2QxNBORCxNMSlXnCOoO3rWoU5I6qtbJy1vaAKTAc2ayrtw2xkN7xF1QjiWTkNIy0NC/aynMn0KD196Y0ZIEKD6lCgf2Q3tXnJSxg3edjz+9wzw==', + 'iv' => '2jp9lTDf1FVrS9NqkUD1mw==', +) +[ info ] [ DB ] INIT mysql +[ sql ] [ DB ] CONNECT:[ UseTime:0.140473s ] mysql:host=114.215.82.135;port=3306;dbname=dgg_myyc;charset=utf8mb4 +[ sql ] [ SQL ] SHOW COLUMNS FROM `shop_config` [ RunTime:0.094682s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'img_url' LIMIT 1 [ RunTime:0.089770s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPID' LIMIT 1 [ RunTime:0.089896s ] +[ sql ] [ SQL ] SELECT `value` FROM `shop_config` WHERE `type` = 'website' AND `name` = 'APPSECRET' LIMIT 1 [ RunTime:0.089296s ] +[ error ] [8]未定义数组索引: session_key[/Library/WebServer/Documents/dggxiangmu/dggmyyc/application/api/controller/AuthController.php:103]