🔓 Ultimate Webshell - Penetration Testing Tool

📖 File Reader

<?php
namespace app\common;
use app\BaseController;
use think\facade\Db;
use think\facade\View;

/*其他接口处理*/
class common_api extends BaseController
{
    /**
     * 实名认证检测(阿里云)
     * 接口地址:https://market.aliyun.com/products/57000002/cmapi00037883.html?spm=5176.2020520132.101.2.7ce672185rAoNu#sku=yuncode31883000010
     * @param $name
     * @param $identity
     */
    static function certification($name, $identity)
    {
        $host = "https://zid.market.alicloudapi.com";
        $path = "/idcheck/Post";
        $method = "POST";
        $appcode = "c9f09e90ff1b4c44ac03497759857e9d";
        $headers = array();
        array_push($headers, "Authorization:APPCODE " . $appcode);
        //根据API的要求,定义相对应的Content-Type
        array_push($headers, "Content-Type" . ":" . "application/x-www-form-urlencoded; charset=UTF-8");
        $querys = "";
        $bodys = "cardNo=" . $identity . "&realName=" . $name;
        $url = $host . $path;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, false);//获取响应的头信息
        if (1 == strpos("$" . $host, "https://")) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
        $result = curl_exec($curl);
        $result = json_decode($result, true);
        if (!empty($result["result"])) {
            if ($result["result"]["isok"] == 1) {
                $data = [
                    'code' => 200,
                    'msg' => '匹配成功',
                ];
            } else {
                $data = [
                    'code' => 400,
                    'msg' => '姓名和身份证不匹配',
                ];
            }
        } else {
            $data = [
                'code' => 400,
                'msg' => '检测失败'
            ];
        }
        return $data;
    }

    /**
     * 身份证识别(阿里云)
     * 接口地址:https://market.aliyun.com/products/57124001/cmapi010401.html?spm=5176.2020520132.101.2.5e487218YRakeQ#sku=yuncode440100000
     * @param $img_url 图片地址
     */
    static function identity_recognition($img_url)
    {
        $url = "http://dm-51.data.aliyun.com/rest/160601/ocr/ocr_idcard.json";
        $appcode = "c9f09e90ff1b4c44ac03497759857e9d";
        $img_path = $img_url;
        $method = "POST";
        $headers = array();
        array_push($headers, "Authorization:APPCODE " . $appcode);
        //根据API的要求,定义相对应的Content-Type
        array_push($headers, "Content-Type" . ":" . "application/json; charset=UTF-8");
        //如果没有configure字段,config设为空
        $config = array(
            "side" => "face"
        );
        $img_data = Common_api::img_base64($img_path);
        $request = array(
            "image" => "$img_data"
        );
        if (count($config) > 0) {
            $request["configure"] = json_encode($config);
        }
        $body = json_encode($request);
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        if (1 == strpos("$" . $url, "https://")) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
        $result = curl_exec($curl);
        $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
        $rheader = substr($result, 0, $header_size);
        $rbody = substr($result, $header_size);
        $rbody = json_decode($rbody, true);
        if (!empty($rbody["name"]) && !empty($rbody["num"])) {
            $data = [
                'code' => 200,
                'msg' => 'ok',
                'rbody' => $rbody,
            ];
        } else {
            $data = [
                'code' => 400,
                'msg' => '识别失败'
            ];
        }
        return $data;
    }

    /*base64编码*/
    static function img_base64($path)
    {
        //对path进行判断,如果是本地文件就二进制读取并base64编码,如果是url,则返回
        $img_data = "";
        if (substr($path, 0, strlen("http")) === "http") {
            $img_data = $path;
        } else {
            if ($fp = fopen($path, "rb", 0)) {
                $binary = fread($fp, filesize($path)); // 文件读取
                fclose($fp);
                $img_data = base64_encode($binary); // 转码
            } else {
                printf("%s 图片不存在", $img_data);
            }
        }
        return $img_data;
    }

    /**
     * 银行卡检测(阿里云)
     * 接口地址:https://market.aliyun.com/products/57000002/cmapi028251.html?spm=5176.2020520132.101.2.51767218Tmt8sE#sku=yuncode2225100000
     * @param $accountNo 银行卡号
     * @param $idCard 身份证号
     * @param $name 姓名
     */
    static function bank_card_detection($accountNo, $idCard, $name)
    {
        error_reporting(E_ALL || ~E_NOTICE);
        $host = "https://tbank.market.alicloudapi.com";
        $path = "/bank3CheckNew";
        $method = "GET";
        $appcode = "c9f09e90ff1b4c44ac03497759857e9d";//开通服务后 买家中心-查看AppCode
        $headers = array();
        array_push($headers, "Authorization:APPCODE " . $appcode);
        $querys = "idCard=" . $idCard . "&accountNo=" . $accountNo . "&name=" . urlencode($name);
        $bodys = "";
        $url = $host . $path . "?" . $querys;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        if (1 == strpos("$" . $host, "https://")) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        $out_put = curl_exec($curl);
        $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        list($header, $body) = explode("\r\n\r\n", $out_put, 2);
        if ($httpCode == 200) {
            $body = json_decode($body, true);
            if ($body["status"] == 01) {
                $data = [
                    'code' => 200,
                    'msg' => $body["msg"],
                    'body' => $body,
                ];
            } else {
                $data = [
                    'code' => 400,
                    'msg' => $body["msg"],
                ];
            }
        } else {
            $data = [
                'code' => 400,
                'msg' => '',
            ];
            if ($httpCode == 400 && strpos($header, "Invalid Param Location") !== false) {
                $data["msg"] = '参数错误';
            } elseif ($httpCode == 400 && strpos($header, "Invalid AppCode") !== false) {
                $data["msg"] = 'AppCode错误';
            } elseif ($httpCode == 400 && strpos($header, "Invalid Url") !== false) {
                $data["msg"] = '请求的 Method、Path 或者环境错误';
            } elseif ($httpCode == 403 && strpos($header, "Unauthorized") !== false) {
                $data["msg"] = '服务未被授权(或URL和Path不正确)';
            } elseif ($httpCode == 403 && strpos($header, "Quota Exhausted") !== false) {
                $data["msg"] = '套餐包次数用完';
            } elseif ($httpCode == 500) {
                $data["msg"] = 'API网关错误';
            } elseif ($httpCode == 0) {
                $data["msg"] = 'URL错误';
            } else {
                $data["msg"] = '参数名错误 或 其他错误';
//                print($httpCode);
//                $headers = explode("\r\n", $header);
//                $headList = array();
//                foreach ($headers as $head) {
//                    $value = explode(':', $head);
//                    $headList[$value[0]] = $value[1];
//                }
//                print($headList['x-ca-error-message']);
            }
        }
        return $data;
    }

    /**
     * 快递物流查询API接口(阿里云)
     * 接口地址:https://market.aliyun.com/products/57126001/cmapi00039216.html?spm=5176.2020520132.101.8.50ef7218CD102S#sku=yuncode3321600001
     * @param string $courier_number 快递单号
     */
    public function recruitment($courier_number = '')
    {
        error_reporting(E_ALL || ~E_NOTICE);
        $host = "https://expresslnt.market.alicloudapi.com";
        $path = "/kdi";
        $method = "GET";
        $appcode = "95c70bf8eef7494eba83187e052d56a6";//开通服务后 买家中心-查看AppCode
        $headers = array();
        array_push($headers, "Authorization:APPCODE " . $appcode);
        $querys = "no=".$courier_number."&type=";  //参数写在这里
        $bodys = "";
        $url = $host . $path . "?" . $querys;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        if (1 == strpos("$" . $host, "https://")) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        $out_put = curl_exec($curl);
        $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

        list($header, $body) = explode("\r\n\r\n", $out_put, 2);
        if ($httpCode == 200) {
            $body_arr = json_decode($body,true);
            $data = [
                'code'=>200,
                'msg'=>'ok',
                'list'=>$body_arr["result"],
            ];
        } else {
            if ($httpCode == 400 && strpos($header, "Invalid Param Location") !== false) {
                $msg = '参数错误';
            } elseif ($httpCode == 400 && strpos($header, "Invalid AppCode") !== false) {
                $msg = 'AppCode错误';
            } elseif ($httpCode == 400 && strpos($header, "Invalid Url") !== false) {
                $msg = '请求的 Method、Path 或者环境错误';
            } elseif ($httpCode == 403 && strpos($header, "Unauthorized") !== false) {
                $msg = '服务未被授权(或URL和Path不正确)';
            } elseif ($httpCode == 403 && strpos($header, "Quota Exhausted") !== false) {
                $msg = '套餐包次数用完';
            } elseif ($httpCode == 403 && strpos($header, "Api Market Subscription quota exhausted") !== false) {
                $msg = '套餐包次数用完,请续购套餐';
            } elseif ($httpCode == 500) {
                $msg = 'API网关错误';
            } elseif ($httpCode == 0) {
                $msg = 'URL错误';
            } else {
                $msg = '参数名错误 或 其他错误';
                $headers = explode("\r\n", $header);
                $headList = array();
                foreach ($headers as $head) {
                    $value = explode(':', $head);
                    $headList[$value[0]] = $value[1];
                }
                print($headList['x-ca-error-message']);
            }
            $data = [
                'code'=>400,
                'msg'=>$msg,
            ];
        }
        return $data;
    }

    /**
     * 文字合成语音(阿里云)
     * 接口地址:https://market.aliyun.com/apimarket/detail/cmapi00044724?spm=5176.730005.result.2.79be3524jLIyXV
     * @param string $keyword 合成语音文字关键词
     */
    public function voice_recognition($keyword='')
    {
        $host = "https://audio.market.alicloudapi.com";
        $path = "/audiospeak";
        $method = "POST";
        $appcode = "e0d80ba65b1f43de9071ad3477aafeaa";
        $headers = array();
        array_push($headers, "Authorization:APPCODE " . $appcode);
        //根据API的要求,定义相对应的Content-Type
        array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
        $querys = "";
        $bodys = "src=".$keyword."&speed=5&pit=5&vol=5&per=15";
        $url = $host . $path;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, false);
        if (1 == strpos("$".$host, "https://"))
        {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
        $result = curl_exec($curl);
        $result = json_decode($result,true);
        return $result;
    }
}