select_all_row('sq_apps', 'ID,appname', array(), 'AND'); if (count($back) === 0) { die(); } $i = ''; foreach ($back as $value) { $i .= ''; } die($i); break; case 'loadbuylist': include __DIR__ . '/function/function_app.php'; $where = array(); $where['openbuy'] = '1'; if (!empty($_POST['loadbuylist']) && $_POST['loadbuylist'] != 0) { $where['appid'] = intval($_POST['loadbuylist']); } //print_r($where); if (!$result = $db->select_all_row('sq_fidlist', '*', $where, 'AND')) { die('站长没有添加任何商品' . $db->geterror()); } //print_r($result); $info = ''; foreach ($result as $item) { //echo '1'; if (!$appinfo = $db->select_first_row('sq_apps', 'appname,usetype,imgsrc,upurl', array('ID' => $item['appid']), 'AND')) { echo $db->geterror(); continue; } //echo '2'; if ($item['num'] != '-1') { if ($appinfo['usetype'] === 'dqsj') { $numtip = '使用时长:' . time_last($item['num'] * 60); } else { $numtip = '充值点数:' . $item['num'] . '点'; } } else { if ($appinfo['usetype'] === 'dqsj') { $numtip = '使用时长:无期授权'; } else { $numtip = '充值点数:无限使用'; } } if (empty($appinfo['imgsrc'])) { $appinfo['imgsrc'] = './mdl/dog.png'; } $info .= '

' . $item['fidname'] . '

购买价格:' . $item['buyprice'] . '元
' . $numtip . '
应用名称:' . $appinfo['appname'] . '
'; } die($info); break; case 'buy_first': include __DIR__ . "/function/function_app.php"; $fidinfo = $db->select_first_row('sq_fidlist', '*', array('ID' => $_GET['fid']), 'AND'); $appinfo = app_idgetinfo($fidinfo['appid']); $output = ' 授权在线开通 - '.$G['config']['sitename'].' '; $output .= '
'; $output .= GetBuyFormHtml($appinfo,$type); $output .= '
请选择您的支付方式:
请选择在线支付方式:


'; die($output); break; case 'buy_agent': include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_POST['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } if (empty($_POST['lid'])) { die(json_encode(array('code' => -2, 'msg' => '请选择一个级别'))); } if (empty($_POST['username'])) { die(json_encode(array('code' => -3, 'msg' => '请输入用户名,用户名和密码是您登陆代理后台的唯一凭证!'))); } if (empty($_POST['password'])) { die(json_encode(array('code' => -4, 'msg' => '请输入您的密码,用户名和密码是您登陆代理后台的唯一凭证!'))); } if (empty($_POST['qq'])) { die(json_encode(array('code' => -5, 'msg' => '请输入您的QQ'))); } if (!$levelinfo = $db->select_first_row('sq_level', 'lname,price', array('ID' => $_POST['lid']), 'AND')) { die(json_encode(array('code' => -5, 'msg' => '无法找到该代理等级'))); } if ($levelinfo['price'] <= 0) { die(json_encode(array('code' => -6, 'msg' => '该代理等级不允许在线开通'))); } if ($db->select_first_row('sq_agent', 'ID', array('username' => $_POST['username']), '') != false) { die(json_encode(array('code' => -6, 'msg' => '用户名重复,请尝试其他用户名'))); } $time = time(); $tradno = $time . rand_str(10, 'num'); $money = $levelinfo['price']; $tips = '您正在开通新代理,请确认以下信息:
'; $tips .= '交易订单号:' . $tradno . '
'; $tips .= '正在开通等级:' . $levelinfo['lname'] . '
'; $tips .= '代理用户名:' . $_POST['username'] . '
'; $tips .= '代理代理密码:' . $_POST['password'] . '
'; $tips .= '代理QQ:' . $_POST['qq'] . '
'; $tips .= '应付金额:' . $levelinfo['price'] . '
'; if ($_POST['zffs'] == 'zxzf') { $tips .= '付款方式:在线支付
'; switch ($_POST['zxzffs']) { case 'zfb': $tips .= '支付方式:支付宝
'; break; case 'wx': $tips .= '支付方式:微信
'; break; case 'qq': $tips .= '支付方式:QQ钱包
'; break; default: die(json_encode(array('code' => -7, 'msg' => '错误的付款方式'))); } } else if ($_POST['zffs'] == 'czkm') { $tips .= '付款方式:余额卡密
'; if (empty($_POST['kt_key'])) { die(json_encode(array('code' => -8, 'msg' => '余额卡密不能为空'))); } $tips .= '正在使用的卡密:' . $_POST['kt_key'] . '
'; } else { die(json_encode(array('code' => -5, 'msg' => '错误的支付方式'))); } $newtrade = array('name' => $levelinfo['lname'], 'tradeno' => $tradno, 'begintime' => $time, 'user' => $_POST['username'], // P0-05: 订单密码以 bcrypt 哈希入库(开通落库点 function_auth/trade.inc 有幂等保护) 'pass' => wq_hash_password($_POST['password']), 'fid' => $_POST['lid'], 'num' => 1, 'paymoney' => $money, 'mail' => $_POST['qq'] . '@qq.com', 'paytype' => $_POST['zffs'], 'onlinepaytype' => $_POST['zxzffs'], 'kami' => $_POST['kt_key'], 'uqq' => $_POST['qq'], 'ip' => get_real_ip(), 'status' => '1', 'type' => 4 ); $db->insert_back_id('sq_trade', $newtrade); die(json_encode(array('code' => '1', 'tradeno' => $tradno, 'info' => $tips))); break; case 'buy_submit': include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_POST['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } include __DIR__ . '/function/function_app.php'; if (empty($_POST['kt_key'])) { $_POST['kt_key'] = '无'; } if (!$fidinfo = $db->select_first_row('sq_fidlist', '*', array('ID' => $_POST['id']), 'AND')) { die(json_encode(array('code' => -2, 'msg' => '无法找到该商品,请刷新页面重试'))); } if (!$appinfo = app_idgetinfo($fidinfo['appid'])) { die(json_encode(array('code' => -2, 'msg' => '无法找到应用,也许是该应用已下架'))); } if ($fidinfo['num'] == -1 && $_POST['kt_num'] != 1) { die(json_encode(array('code' => '-3', 'msg' => '此套餐包含的授权时长为永久,请固定开通数量为1'))); } if ($_POST['kt_num'] <= 0 || $_POST['kt_num'] >= 10) { die(json_encode(array('code' => '-4', 'msg' => '开通数量填写错误,开通数量必须为1-10之间'))); } $time = time(); $tradno = $time . rand_str(10, 'num'); $tips = '交易订单号:' . $tradno . '
'; $spendmoney = $fidinfo['buyprice'] * $_POST['kt_num']; $tips .= '应付金额:' . $spendmoney . '
'; if ($spendmoney <= 0) { die(json_encode(array('code' => -7, 'msg' => '错误的支付金额:' . $spendmoney))); } if ($_POST['type'] == '1') { if (empty($_POST['kt_user'])) { die(json_encode(array('code' => -13, 'msg' => '用户名不能为空!'))); } if (empty($_POST['kt_pass'])) { die(json_encode(array('code' => -14, 'msg' => '密码不能为空!'))); } if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $_POST['kt_user'], 'appid' => $fidinfo['appid']), 'AND')) { } else { // P0-05: 兼容旧明文 / 新 bcrypt 校验续费用户密码 if (!wq_verify_password($_POST['kt_pass'], $userinfo['password'])) { die(json_encode(array('code' => -2, 'msg' => '您的用户名已开通,您需要输入的正确密码才能进行续费,当前输入的用户密码错误!'))); } } $tips .= '开通用户名:' . $_POST['kt_user'] . '
'; $newtrade = array('name' => $fidinfo['fidname'], 'tradeno' => $tradno, 'begintime' => $time, 'user' => $_POST['kt_user'], 'pass' => wq_hash_password($_POST['kt_pass']), 'fid' => $_POST['id'], 'num' => $_POST['kt_num'], 'paymoney' => $spendmoney, 'mail' => $_POST['kt_mail'], 'paytype' => $_POST['zffs'], 'onlinepaytype' => $_POST['zxzffs'], 'kami' => $_POST['kt_key'], 'uqq' => $_POST['kt_adminqq'], 'ip' => get_real_ip(), 'status' => '1', 'type' => 3 ); } else if ($_POST['type'] == '2') { //卡密方式 if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $_POST['kt_user'], 'appid' => $fidinfo['appid']), 'AND')) { $userkey = $userinfo['username']; $tips .= '开通方式:新开卡密
'; } else { $userkey = ''; $tips .= '开通方式:续费卡密(' . $_POST['kt_user'] . ')
'; } $newtrade = array( 'user'=>$_POST['kt_user'], 'name' => $fidinfo['fidname'], 'tradeno' => $tradno, 'begintime' => $time, 'fid' => $_POST['id'], 'num' => $_POST['kt_num'], 'paymoney' => $spendmoney, 'mail' => $_POST['kt_mail'], 'paytype' => $_POST['zffs'], 'onlinepaytype' => $_POST['zxzffs'], 'uqq' => $_POST['kt_adminqq'], 'kami' => $_POST['kt_key'], 'ip' => get_real_ip(), 'status' => '1', 'type' => 3 ); } else { //检查绑定 $tips_ = ''; if ($appinfo['bindip'] == '1') { $check['lip'] = $_POST['kt_ip']; if (empty($_POST['kt_ip']) || $_POST['kt_ip'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的IP不能为空'))); } $tips_ .= '绑定IP:' . $check['lip'] . '
'; } if ($appinfo['bindmac'] == '1') { $check['mac'] = $_POST['kt_mac']; if (empty($_POST['kt_mac']) || $_POST['kt_mac'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的机器不能为空'))); } $tips_ .= '绑定机器:' . $check['mac'] . '
'; } if ($appinfo['bindqq'] == '1') { $check['rqq'] = $_POST['kt_robotqq']; if (empty($_POST['kt_robotqq']) || $_POST['kt_robotqq'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的机器人QQ不能为空'))); } $tips_ .= '绑定QQ:' . $check['rqq'] . '
'; } //$check['appid'] = $appinfo['ID']; if (empty($check)) { die(json_encode(array('code' => -10, 'msg' => '系统内部错误(应用绑定信息配置异常),请联系管理员解决'))); } $newtrade = array('name' => $fidinfo['fidname'], 'tradeno' => $tradno, 'begintime' => $time, 'user' => json_encode($check), 'fid' => $_POST['id'], 'num' => $_POST['kt_num'], 'paymoney' => $spendmoney, 'mail' => $_POST['kt_mail'], 'paytype' => $_POST['zffs'], 'onlinepaytype' => $_POST['zxzffs'], 'kami' => $_POST['kt_key'], 'ip' => get_real_ip(), 'status' => '1', 'uqq' => $_POST['kt_adminqq'], 'type' => 3 ); if (!$userinfo = $db->select_first_row('sq_user', '*', $check, 'AND')) { $tips .= '开通方式:新开授权
绑定信息如下:
' . $tips_ . '

'; } else { $tips .= '开通方式:续费授权
绑定信息如下:
' . $tips_ . '

'; } } if (empty($userinfo['balance'])) { $userinfo['balance'] = 0; } $tips .= '正在开通套餐:' . $fidinfo['fidname'] . '
'; if ($appinfo['usetype'] === 'dqsj') { if (empty($userinfo['balance']) || $userinfo['balance'] == 0) { $tips .= '您目前到期时间:无
'; $userinfo['balance'] = time(); } else { $tips .= '您目前到期时间:' . Get_Date($userinfo['balance']) . '
'; } $tips .= '新增时长:' . time_last($fidinfo['num'] * $_POST['kt_num'] * 60) . '
'; } else { $tips .= '用户剩余点数:' . $userinfo['balance'] . '点
'; $tips .= '购买后点数:' . ($userinfo['balance'] + $fidinfo['num'] * $_POST['kt_num']) . '点
'; } if ($_POST['zffs'] == 'zxzf') { $tips .= '付款方式:在线支付
'; switch ($_POST['zxzffs']) { case 'zfb': $tips .= '支付方式:支付宝
'; break; case 'wx': $tips .= '支付方式:微信
'; break; case 'qq': $tips .= '支付方式:QQ钱包
'; break; default: die(json_encode(array('code' => -5, 'msg' => '错误的付款方式'))); } } else if ($_POST['zffs'] == 'czkm') { if ($fidinfo['allrechargecard'] != 1) { die(json_encode(array('code' => -5, 'msg' => '本套餐不支持使用卡密支付'))); } $tips .= '付款方式:余额卡密
'; $tips .= '正在使用的卡密:' . $_POST['kt_key'] . '
'; } else { die(json_encode(array('code' => -5, 'msg' => '错误的支付方式'))); } $tips .= '注意:请认真核对信息,付款后一律不支持退款!
'; if (!$db->insert_back_id('sq_trade', $newtrade)) { die(json_encode(array('code' => -3, 'msg' => '系统错误:' . $db->geterror()))); } else { die(json_encode(array('code' => '1', 'tradeno' => $tradno, 'info' => $tips))); } break; case 'introduce': if (!$appinfo = $db->select_first_row('sq_apps', 'introduce', array('ID' => $_GET['appid']), 'AND')) { die('服务器内部错误'); } else { if (empty($appinfo['introduce'])){ die('管理员没有写任何详情 :('); } die($appinfo['introduce']); } break; case 'queryauth': include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_POST['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } if($result = $db->select_first_row('sq_bclist','*',array('obj'=>$_POST['qq']),'AND')){ if ($result['appid'] != 0){ include_once __DIR__ . '/function/function_app.php'; $app = app_idgetname($result['appid']); }else{ $app = '所有应用'; } die('查询对象属于云黑名单中!
原因:'.$result['reason'].'
拉黑应用:'.$app); } $_POST['qq'] = intval($_POST['qq']); if (empty($_POST['qq'])) { die('查询的QQ号码不能为空'); } $info = $db->select_all_row('sq_agent', 'begintime,levelid,qq', array('qq' => $_POST['qq'], 'status' => 1), 'AND'); include __DIR__ . '/function/function_app.php'; if (!is_array($info) || count($info) == 0) { echo('QQ' . $_POST['qq'] . '没有查询到任何代理信息' . '
'); } else { foreach ($info as $qqinfo) { echo '代理QQ:' . $qqinfo['qq'] . '
'; echo '开通时间:' . Get_Date($qqinfo['begintime']) . '
'; $levelinfo = $db->select_first_row('sq_level', '*', array('ID' => $qqinfo['levelid']), 'AND'); echo '代理级别:' . $levelinfo['lname'] . '
'; $array = explode(',', $levelinfo['appid']); $appname = ''; foreach ($array as $appid) { if (!empty($appname)) { $appname .= ',' . app_idgetname($appid); } else { $appname = app_idgetname($appid); } } echo '所属应用:' . $appname; echo '
'; } } $info = $db->select_all_row('sq_user', 'uqq,rqq,rtime,balance,appid,aid', array('uqq' => $_POST['qq'], 'rqq' => $_POST['qq']), 'OR'); if (!is_array($info) || count($info) == 0) { die('QQ' . $_POST['qq'] . '没有查询到任何授权信息'); } foreach ($info as $qqinfo) { echo '用户QQ:' . $qqinfo['uqq'] . '
'; echo '机器人QQ:' . $qqinfo['rqq'] . '
'; echo '开通时间:' . Get_Date($qqinfo['rtime']) . '
'; $appinfo = app_idgetinfo($qqinfo['appid']); echo '所属应用:' . $appinfo['appname'] . '
'; if ($appinfo['usetype'] == 'dqsj') { if ($qqinfo['balance'] == '-1') { echo '到期时间:永久授权
'; } else { echo '到期时间:' . Get_Date($qqinfo['balance']) . '
'; } } else if ($appinfo['usetype'] == 'kcye') { echo '剩余余额:' . $qqinfo['balance'] . '
'; } if ($qqinfo['aid'] != 0) { $agentinfo = $db->select_first_row('sq_agent', 'username', array('ID' => $qqinfo['aid']), 'AND'); echo '开通代理:' . $agentinfo['username'] . '
'; } echo '
'; } die(); case 'levellist': $info = $db->select_all_row('sq_level', 'ID,lname', 'price<>0', '', ''); $i = ''; foreach ($info as $value) { $i .= ''; } die($i); break; case 'FieldKamiOpen_First': include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_GET['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } if (!$info = $db->select_first_row('sq_fidkey','*',array('kami'=>$_GET['kami']),'AND')) die('卡密不存在'); if ($info['status'] != 1) die('卡密已被冻结'); if ( !empty($info['user']) || !empty($info['usetime'])) die('卡密已被使用'); if (!$fidinfo = $db->select_first_row('sq_fidlist','fidname,appid',array('ID'=>$info['fid']),'AND'))die('无法找到对应套餐,请联系管理员处理'); include __DIR__ . "/function/function_app.php"; $appinfo = app_idgetinfo($fidinfo['appid']); $output = ' 使用卡密'.$_GET['kami'].' - '.$G['config']['sitename'].' '; $output .= '
'; $output .= GetBuyFormHtml($appinfo,$type); $output .= '


'; die($output); break; case 'FieldKeyBuy_submit': error_reporting(E_ALL); include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_POST['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } if (!$info = $db->select_first_row('sq_fidkey','*',array('kami'=>$_POST['kt_key']),'AND')) die(json_encode(array('code' => '-1', 'msg' => '卡密不存在')));; if ($info['status'] != 1) die(json_encode(array('code' => '-101', 'msg' => '卡密已被冻结'))); if ( !empty($info['user']) || !empty($info['usetime'])) die(json_encode(array('code' => '-102', 'msg' => '卡密已被使用'))); if (!$fidinfo = $db->select_first_row('sq_fidlist','*',array('ID'=>$info['fid']),'AND'))die(json_encode(array('code' => '-201', 'msg' => '套餐无法找到,请联系管理员')));; $tips=''; include __DIR__ . '/function/function_app.php'; if (!$appinfo = app_idgetinfo($fidinfo['appid'])) { die(json_encode(array('code' => -2, 'msg' => '无法找到应用,也许是该应用已下架'))); } $spendmoney = 0; $time = time(); if ($_POST['type'] == '1') { if (empty($_POST['kt_user'])) { die(json_encode(array('code' => -13, 'msg' => '用户名不能为空!'))); } if (empty($_POST['kt_pass'])) { die(json_encode(array('code' => -14, 'msg' => '密码不能为空!'))); } if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $_POST['kt_user'], 'appid' => $fidinfo['appid']), 'AND')) { } else { // P0-05: 兼容旧明文 / 新 bcrypt 校验 if (!wq_verify_password($_POST['kt_pass'], $userinfo['password'])) { die(json_encode(array('code' => -2, 'msg' => '用户密码错误!'))); } } $tips .= '开通用户名:' . $_POST['kt_user'] . '
'; $newtrade = array('name' => $fidinfo['fidname'], 'begintime' => $time, 'user' => $_POST['kt_user'], 'pass' => wq_hash_password($_POST['kt_pass']), 'fid' => $_POST['id'], 'mail' => $_POST['kt_mail'], 'kami' => $_POST['kt_key'], 'uqq' => $_POST['kt_adminqq'], 'ip' => get_real_ip(), 'status' => '1', 'type' => 3, ); } else if ($_POST['type'] == '2') { //卡密方式 if (!$userinfo = $db->select_first_row('sq_user', '*', array('username' => $_POST['kt_user'], 'appid' => $fidinfo['appid']), 'AND')) { $userkey = $userinfo['username']; $tips .= '开通方式:新开卡密
'; } else { $userkey = ''; $tips .= '开通方式:续费卡密(' . $_POST['kt_user'] . ')
'; } $newtrade = array('name' => $fidinfo['fidname'], 'tradeno' => $tradno, 'begintime' => $time, 'user' => $_POST['kt_user'], 'fid' => $_POST['id'], 'paymoney' => $spendmoney, 'mail' => $_POST['kt_mail'], 'paytype' => 'tck', 'onlinepaytype' => '', 'uqq' => $_POST['kt_adminqq'], 'kami' => $_POST['kt_key'], 'ip' => get_real_ip(), 'status' => '1', 'type' => 3, 'pass'=>'' ); } else { //检查绑定 $tips_ = ''; if ($appinfo['bindip'] == '1') { $check['lip'] = $_POST['kt_ip']; if (empty($_POST['kt_ip']) || $_POST['kt_ip'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的IP不能为空'))); } $tips_ .= '绑定IP:' . $check['lip'] . '
'; } if ($appinfo['bindmac'] == '1') { $check['mac'] = $_POST['kt_mac']; if (empty($_POST['kt_mac']) || $_POST['kt_mac'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的机器不能为空'))); } $tips_ .= '绑定机器:' . $check['mac'] . '
'; } if ($appinfo['bindqq'] == '1') { $check['rqq'] = $_POST['kt_robotqq']; if (empty($_POST['kt_robotqq']) || $_POST['kt_robotqq'] == 'undefined') { die(json_encode(array('code' => -10, 'msg' => '绑定的机器人QQ不能为空'))); } $tips_ .= '绑定QQ:' . $check['rqq'] . '
'; } //$check['appid'] = $appinfo['ID']; if (empty($check)) { die(json_encode(array('code' => -10, 'msg' => '系统内部错误(应用绑定信息配置异常),请联系管理员解决'))); } $tradno = $time . rand_str(10, 'num'); $newtrade = array('name' => $fidinfo['fidname'], 'tradeno' => $tradno, 'begintime' => $time, 'user' => json_encode($check), 'fid' => $_POST['id'], 'paymoney' => $spendmoney, 'mail' => $_POST['kt_mail'], 'paytype' => 'tck', 'onlinepaytype' => '', 'kami' => $_POST['kt_key'], 'ip' => get_real_ip(), 'status' => '1', 'uqq' => $_POST['kt_adminqq'], 'type' => 3, 'pass'=>'' ); if (!$userinfo = $db->select_first_row('sq_user', '*', $check, 'AND')) { $tips .= '开通方式:新开授权
绑定信息如下:
' . $tips_ . '

'; } else { $tips .= '开通方式:续费授权
绑定信息如下:
' . $tips_ . '

'; } } //$newtrade['ID'] = $db->insert_back_id('sq_trade', $newtrade); include_once __DIR__ . '/function/function_auth.php'; $back = auth_add($newtrade['user'],$newtrade['pass'],$newtrade['ip'], $fidinfo['num'],$newtrade['uqq'],$newtrade['mail'],$fidinfo['appid'],3,$info['ID'],$info['aid'],$newkey,$tips,$newtrade); $db->update('sq_fidkey',array('ID'=>$info['ID']),'AND',array('usetime'=>time(),'user'=>$newtrade['user'])); if ($back == 1){ die(makejson(1,$tips.'授权新开成功!')); }else if ($back==2){ die(makejson(1,$tips.'授权续费成功!')); }else if ($back==3){ die(makejson(2,'授权登录卡密生成成功,请使用此卡密登录授权:'.$newkey)); }else{ die(makejson($back,$tips)); } break; case 'changegetform': include __DIR__ . '/function/function_app.php'; if(!$appinfo = app_idgetinfo(intval($_POST['appid']))){ die(''); } $output = ''; if ($appinfo['logintype'] == 'zhmm') { $output .= '
'; $type = 1; } else if ($appinfo['logintype'] == 'kmsq') { $output .= '
'; $type = 2; }else if ($appinfo['logintype'] == 'jcbd') { if ($appinfo['bindqq'] == '1') { $output .= '
'; } if ($appinfo['bindmac'] == '1') { $output .= '
'; } if ($appinfo['bindip'] == '1') { $output .= '
'; } $type = 3; } else { die('未知授权方式:' . $appinfo['logintype']); } $check = false; if ($appinfo['bindqq'] == '1') { $check = true; $output .= '
'; } if ($appinfo['bindmac'] == '1') { $check = true; $output .= '
'; } if ($appinfo['bindip'] == '1') { $check = true; $output .= '
'; } if(!$check){ die(''); } die($output); break; case 'ChangeGetVerCode': include __DIR__ . '/function/VerificationCode.class.php'; $verification = Verification::check($_POST['token']); if ($verification !== true) { die(json_encode(array('code' => '-88', 'msg' => '请先进行人机验证'))); } include __DIR__ . '/function/function_app.php'; if(!$appinfo = app_idgetinfo(intval($_POST['applist']))){ die(makejson(-1,'请先选择一个应用')); } $appid = $_POST['applist']; if ($appinfo['logintype'] === 'zhmm'){ if (empty($_POST['kt_user']) || empty($_POST['kt_pass'])){ die(makejson(-2,'请输入您的登录信息')); } // P0-05: 先按用户名+应用取出,再在 PHP 中校验密码(兼容旧明文 / 新 bcrypt), // 校验成功且为旧明文时惰性升级为 bcrypt if (!$userinfo = $db->select_first_row('sq_user','ID,sendtime,mail,password',array('username'=>$_POST['kt_user'],'appid'=>$appid),'AND') || !wq_verify_password($_POST['kt_pass'], $userinfo['password'])){ die(makejson(-3,'未查询到您的授权信息!
请检查您输入的账号密码是否正确!')); } if (!wq_is_hashed_password($userinfo['password'])){ $db->update('sq_user',array('ID'=>$userinfo['ID']),'AND',array('password'=>wq_hash_password($_POST['kt_pass']))); } }else if ($appinfo['logintype'] === 'kmsq'){ if (empty($_POST['kt_user'])){ die(makejson(-2,'请输入您登录使用的卡密')); } if (!$userinfo = $db->select_first_row('sq_user','ID,sendtime,mail',array('username'=>$_POST['kt_user'],'appid'=>$appid),'AND')){ die(makejson(-3,'未查询到您的授权信息!
请检查您输入的卡密是否正确!')); } }else if ($appinfo['logintype'] === 'jcbd'){ $where['appid'] = $appid; $check = false; if ($appinfo['bindip'] == '1') { if (empty($_POST['kt_ip'])){ die(makejson(-21,'请输入您当前已授权的IP')); } $where['lip'] = $_POST['kt_ip']; $check = true; } if ($appinfo['bindmac'] == '1') { if (empty($_POST['kt_mac'])){ die(makejson(-22,'请输入您当前已授权的设备')); } $where['mac'] = $_POST['kt_mac']; $check = true; } if ($appinfo['bindqq'] == '1') { if (empty($_POST['kt_robotqq'])){ die(makejson(-23,'请输入您当前已授权的机器人QQ')); } $where['rqq'] = $_POST['kt_robotqq']; $check = true; } if (!$userinfo = $db->select_first_row('sq_user','ID,sendtime,mail',$where,'AND')){ die(makejson(-7,'未查询到您的授权信息')); } } $_SESSION['change_uid'] = $userinfo['ID']; if ($_POST['cg_mail'] !== $userinfo['mail']){ die(makejson(-5,'输入的邮箱与授权开通时候的邮箱不符,请重新输入')); } if (time() - (int)$userinfo['sendtime'] < 120){ die(makejson(-4,'邮件发送频率过快,请等待 ' .( 120 - (time() - (int)$userinfo['sendtime'])).'秒后再发送')); } $newvercode = rand_str(6); $db->update('sq_user',array('ID'=>$userinfo['ID'],'appid'=>$_POST['applist']),'AND',array('mailcode'=>$newvercode,'sendtime'=>time())); $T['title'] = '换绑操作验证码'; $T['content'][] = '验证码:'.$newvercode; $T['content'][] = '发送时间:'.Get_Date(time()); $T['content'][] = '到期时间:'.Get_Date(time()+300); $T['content'][] = '注意:若您没有执行换绑操作请忽略此邮件并严格保密邮件内容!'; $MailTips[] = $T; if(SendTipsMail($userinfo['mail'],$MailTips,$backinfo)){ die(makejson(1,'邮件发送成功')); }else{ $db->update('sq_user',array('ID'=>$userinfo['ID']),'AND',array('mailcode'=>'','sendtime'=>0)); die(makejson('-4',$backinfo)); } break; case 'postchange': if (empty($_SESSION['change_uid'])){ die('缓存中未找到验证码请求,请先获取验证码'); } if (!$userinfo = $db->select_first_row('sq_user','sendtime,mailcode',array('ID'=>$_SESSION['change_uid'],'appid'=>$_POST['applist']),'AND')){ die('缓存中的用户不存在,请尝试重新请求验证码'); } if ($userinfo['sendtime'] + 300 < time()){ die('验证码已过期,请尝试重新获取'); } if ($userinfo['mailcode'] !== $_POST['cg_vercode']){ die('验证码错误,请重新输入'); } include_once __DIR__ . '/function/function_app.php'; if(!$appinfo = app_idgetinfo($_POST['applist'])){ die('服务器错误:应用无法找到'); } $updata['sendtime'] = 0; $updata['mailcode'] = ''; if ($appinfo['bindqq'] == '1') { $updata['rqq']=$_POST['cg_robotqq']; } if ($appinfo['bindmac'] == '1') { $updata['mac']=$_POST['cg_mac']; } if ($appinfo['bindip'] == '1') { $updata['lip']=$_POST['cg_ip']; } $db->update('sq_user',array('ID'=>$_SESSION['change_uid'],'appid'=>$_POST['applist']),'AND',$updata); die('用户绑定信息修改成功'); break; default: die('未知请求'); } function GetBuyFormHtml($appinfo,&$type){ $output = ''; if ($appinfo['logintype'] == 'zhmm') { $output .= '
'; $type = 1; } else if ($appinfo['logintype'] == 'kmsq') { $output .= '
'; $type = 2; } else if ($appinfo['logintype'] == 'jcbd') { if ($appinfo['bindqq'] == '1') { $output .= '
'; } if ($appinfo['bindmac'] == '1') { $output .= '
'; } if ($appinfo['bindip'] == '1') { $output .= '
'; } $type = 3; } else { die('未知授权方式:' . $appinfo['logintype']); } return $output; }