所有分类
  • 所有分类
  • 会员专享
  • 源码区
  • API/辅助/网盘
  • qc菠菜打赏
  • 云IDC
  • 免挂聚合支付
  • 切片转码
  • 发卡盟商铺
  • 导航/引导
  • 封装打包/免/签名
  • 小程序/公众号
  • 应用/APP/程序

虽说4.0,但本章提供3.5,4.0版本资源。网传最火3.7,未测试

简介

采用 ThinkPHP 6.0 + EasyWebAdmin

支持自定义判断规则(默认提供域名 +QQ+ 机器码规则)

支持在线充值,用户 Api 授权,自助更换授权,卡密兑换(权限,代理,余额,积分),云黑查询,授权代理查询,插件化模板(可自定义上传),余额购买授权,卡密,权限等,快速登录,支付认证,版本管理,自定义用户等级权限模板,自定义授权价格模板,插件管理(自定义安装,更新插件),支持用户扫码绑定授权或认证

截图

模板首页之一
登录界面
后台界面

源码BUG

4.0唯一美中不足的是后台系统配置无效保存

3.7部分代码

<?php
include("./SF/common.php");
$act=isset($_GET['act'])?daddslashes($_GET['act']):null;
@header('Content-Type: application/json; charset=UTF-8');
switch($act) {
	case 'auth1': //网站查询
	if ($conf["is_zbcx"] == 0)exit('{"code":-1,"msg":"该站点已关闭正版查询功能!"}');
	$url=daddslashes($_POST['text']);
	$row=$DB->get_row("SELECT * FROM SF_site where url='{$url}'");
	if($row) {
		exit('{"code":0,"msg":"查询授权:'.$url.'正版授权!"}');
	} else {
		exit('{"code":-1,"msg":"查询授权:'.$url.'未授权!"}');
	}
	break;
	case 'auth': //网站查询
	if ($conf["is_zbcx"] == 0)exit('{"code":-1,"msg":"该站点已关闭正版查询功能!"}');
	$url=daddslashes($_POST['data']);
	if(empty($url))exit('{"code":-1,"msg":"请输入需要查询的内容!"}');
	$cxtype1=$DB->count("SELECT count(*) FROM SF_procedure WHERE type='1'");
	$cxtype2=$DB->count("SELECT count(*) FROM SF_procedure WHERE type='2'");
	if($cxtype2==0 && $cxtype1!=0) {
		if(!isValidDomain($Punycode->encode($url)))exit('{"code":-1,"msg":"请输入正确的域名!"}');
	} elseif($cxtype1==0 && $cxtype2!=0) {
		if (strlen($url) > 12|| !is_numeric($url) || strlen($url) < 5 || !preg_match('/^[0-9]+$/',$url))exit('{"code":-1,"msg":"请输入正确的QQ号!"}');
	}
	if($cxtype1==0 && $cxtype2!=0) {
		$sql="SELECT * FROM `SF_site` where `url`='{$url}'";
		$row=$DB->get_row($sql);
		$rows=$DB->query($sql);
	} else {
		$sql="SELECT * FROM `SF_site` where `url`='{$url}'";
		$row=$DB->get_row($sql);
		if(!$row) {
			$sql="SELECT * FROM `SF_site` where `url`='*.".get_host($url)."'";
			$row=$DB->get_row($sql);
		}
		$rows=$DB->query($sql);
	}
	$SFcxnum=0;
	$SFcx='';
	if($row) {
		foreach ($rows as $auth) {
			$SFcxnum++;
			$cxname=$DB->get_row("SELECT * FROM SF_procedure where id='".$auth['SFid']."' limit 1");
			if($auth['active']==1) {
				$active='<span class="layui-btn layui-btn-xs layui-btn-SF-green">正常</span>';
			} else {
				$active='<span class="layui-btn layui-btn-xs layui-btn-danger">封禁</span>';
			}
			if($auth['endtime']=='0000-00-00 00:00:00') {
				$endtime='永久授权';
			} elseif($auth['endtime']<$date) {
				$endtime='已到期';
			} else {
				$endtime=$auth['endtime'];
			}
			$SFcx.='<tr><td>'.$cxname['name'].'</td><td>'.$active.'</td><td>'.$endtime.'<td></tr>';
		}
		$data='查询授权:'.$url.'<br><br><div style="overflow-x: auto;overflow-y: hidden;"><table class="layui-table" style="white-space: nowrap;" lay-skin="line"><thead><tr><td>程序名称</td><td>状态</td><td>到期时间</td></tr></thead><tbody>'.$SFcx.'</tbody></table></div>';
		$result=array("code"=>0,"msg"=>$data);
		exit(json_encode($result));
	} else {
		exit('{"code":-1,"msg":"查询授权:'.$url.'未授权!"}');
	}
	break;
	case 'download_xinxi': 
	$qq=daddslashes($_POST['qq']);
	$url=daddslashes($_POST['url']);
	$authcode=daddslashes($_POST['authcode']);
	$cx=daddslashes($_POST['cx']);
    if(!$cx)exit('{"code":-1,"msg":"请选择程序!"}');
	if(!$qq)exit('{"code":-1,"msg":"请输入你要绑定的主人QQ!"}');
	if(!$url)exit('{"code":-1,"msg":"请输入你要授权的机器人QQ!"}');
	if(!$authcode)exit('{"code":-1,"msg":"请输入授权码!"}');
	$cxname = $DB->get_row("SELECT * FROM SF_procedure WHERE id='$cx' limit 1");
	if(!$cxname)exit('{"code":-1,"msg":"平台不存在此程序!"}');
	if($cxname['active']!=1)exit('{"code":-1,"msg":"程序“'.$cxname['name'].'”正在维护中!"}');
    $cxtyperow=$DB->get_row("SELECT * FROM SF_procedure_type WHERE id='".$cxname['type']."' and active=1 limit 1");
    if(!$cxtyperow)exit('{"code":-1,"msg":"该程序类型不存在或被封禁!"}');
    eval(str_replace("[auth]",$url,$cxtyperow['type']));
	$row = $DB->get_row("SELECT * FROM SF_site WHERE SFid='$cx' and url='$url' limit 1");
	if(!$row)exit('{"code":-1,"msg":"程序“'.$cxname['name'].'”未查询到有“'.$url.'”的授权!"}');
	if($row['active']!=1)exit('{"code":-1,"msg":"授权“'.$url.'”已封禁,请解封后在来获取!"}');
	if($row['endtime']!='0000-00-00 00:00:00'){
		if($row['endtime']<=$date)exit('{"code":-1,"msg":"授权“'.$url.'”已到期,请续费后在来获取!"}');
	}
	if($row['authcode']!=$authcode)exit('{"code":-1,"msg":"授权码不正确!"}');
	exit('{"code":0,"msg":"验证成功!","authcode":"'.$authcode.'","time":"'.time().'","cxname":"'.$cxname['name'].'","cx":"'.$cx.'","qq":"'.$qq.'","url":"'.$url.'"}');
	break;
	case 'pay': //网站查询
	if ($conf["is_zfcx"] == 0)exit('{"code":-1,"msg":"该站点已关闭认证查询功能!"}');
	$url=daddslashes($_POST['data']);
	$row=$DB->get_row("SELECT * FROM api_site where url='{$url}'");
	if($row) {
		exit('{"code":0,"msg":"查询域名:'.$url.'<br>该易支付已认证!"}');
	} else {
		exit('{"code":-1,"msg":"查询域名:'.$url.'<br>该易支付未认证!"}');
	}
	break;
	case 'kmsq': //卡密
	if ($conf["is_kmbuy"] == 0)exit('{"code":-1,"msg":"该站点已关闭卡密兑换功能!"}');
	$km = daddslashes($_POST['km']);
	$qq = daddslashes($_POST['qq']);
	$url = daddslashes($_POST['url']);
	$user = daddslashes($_POST['user']);
	$pwd = daddslashes($_POST['pwd']);
	require_once ROOT.'class.geetestlib.php';
	$GtSdk = new GeetestLib($conf['captcha_id'], $conf['captcha_key']);
	$cookiesid = $_COOKIE['mysid'];
	$data = array(
					'user_id' => $cookiesid,
					'client_type' => "web",
					'ip_address' => real_ip()
				);
	if($conf['captcha_open']==1) {
		if(!$_POST['geetest_challenge'] && !$_POST['geetest_validate'] && !$_POST['geetest_seccode'])exit('{"code":2,"msg":"请先完成验证!"}');
		if ($_SESSION['gtserver'] == 1) {
			//服务器正常
			if(!$GtSdk->success_validate($_POST['geetest_challenge'], $_POST['geetest_validate'], $_POST['geetest_seccode'], $data))exit('{"code":-1,"msg":"验证失败,请重新验证!"}');
		} else {
			//服务器宕机,走failback模式
			if(!$GtSdk->fail_validate($_POST['geetest_challenge'],$_POST['geetest_validate'],$_POST['geetest_seccode']))exit('{"code":-1,"msg":"验证失败,请重新验证!"}');
		}
	}
	$kmlist=$DB->get_row("SELECT * FROM SF_kms WHERE km='$km' limit 1");
	if(!$kmlist) {
		exit('{"code":-1,"msg":"该授权卡密不存在!"}');
	} elseif($kmlist['stata']) {
		exit('{"code":-1,"msg":"该授权卡密已使用!"}');
	} else {
		if (strlen($qq) > 12|| !is_numeric($qq) || strlen($qq) < 5 || !preg_match('/^[0-9]+$/',$qq)) {
			exit('{"code":-1,"msg":"请输入正确的QQ号!"}');
		}
		$cxrow=$DB->get_row("SELECT * FROM SF_procedure where id='".$kmlist['SFid']."' limit 1");
		$cxtyperow=$DB->get_row("SELECT * FROM SF_procedure_type where id='".$cxrow['type']."' limit 1");
		if($kmlist['type']==1) {
			//授权域名
			eval(str_replace("[auth]",$url,$cxtyperow['type']));
			$urlrow=$DB->get_row("SELECT * FROM SF_site WHERE url='{$url}'  and SFid='".$cxrow['id']."' limit 1");
        
        if($urlrow){
			if($urlrow['endtime']=='0000-00-00 00:00:00')exit('{"code":-1,"msg":"该授权期限已为永久!"}');
			if($kmlist['endtime_type']=='0') {
                $endtime='0000-00-00 00:00:00';
                $dqlx='永久授权';
            } elseif($kmlist['endtime_type']=='hour') {
                $endtime=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +1 hour"));
                $dqlx='时卡';
            } elseif($kmlist['endtime_type']=='day') {
                $endtime=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +1 day"));
                $dqlx='天卡';
            } elseif($kmlist['endtime_type']=='week') {
                $endtime=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +7 day"));
                $dqlx='周卡';
            } elseif($kmlist['endtime_type']=='month') {
                $endtime=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +1 month"));
                $dqlx='月卡';
            } elseif($kmlist['endtime_type']=='year') {
                $endtime=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +1 year"));
                $dqlx='年卡';
            } elseif($kmlist['endtime_type']=='date') {
        	    $arr=explode(",",$kmlist['other']);
		        $endtime6=date("Y-m-d H:i:s",strtotime($urlrow['endtime']." +".$arr[5]." second"));
		        $endtime5=date("Y-m-d H:i:s",strtotime("$endtime6 +".$arr[4]." minute"));
		        $endtime4=date("Y-m-d H:i:s",strtotime("$endtime5 +".$arr[3]." hour"));
		        $endtime3=date("Y-m-d H:i:s",strtotime("$endtime4 +".$arr[2]." day"));
		        $endtime2=date("Y-m-d H:i:s",strtotime("$endtime3 +".$arr[1]." month"));
		        $endtime=date("Y-m-d H:i:s",strtotime("$endtime2 +".$arr[0]." year"));
                $dqlx=$endtime;
            } else {
                exit('{"code":-1,"msg":"此卡密有问题请联系管理员更换!"}');
            }
			$sql="update SF_site set endtime='{}',com='{$qq}',usetime='$date' where kid='{$kmlist['kid']}'";
            if($DB->query($sql)) {
            	$DB -> query("update SF_kms set stata=1,com='{$qq}',usetime='$date' where kid='{$kmlist['kid']}'");
                $DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('游客','卡密兑换','".$date."','".$city."','兑换类型:兑换授权|QQ:".$qq."|授权内容:".$url."|程序:".$cxrow['name']."|兑换时间:".$date."|到期时间:".$dqlx."')");
                    exit('{"code":0,"msg":"兑换成功!"}');
            } else {
                exit('{"code":-1,"msg":"兑换失败!'.$DB->error().'"}');
            }
		}else{
		    if($kmlist['endtime_type']=='0') {
                $endtime='0000-00-00 00:00:00';
                $dqlx='永久授权';
            } elseif($kmlist['endtime_type']=='hour') {
                $endtime=date("Y-m-d H:i:s",strtotime(" +1 hour"));
                $dqlx='时卡';
            } elseif($kmlist['endtime_type']=='day') {
                $endtime=date("Y-m-d H:i:s",strtotime(" +1 day"));
                $dqlx='天卡';
            } elseif($kmlist['endtime_type']=='week') {
                $endtime=date("Y-m-d H:i:s",strtotime(" +7 day"));
                $dqlx='周卡';
            } elseif($kmlist['endtime_type']=='month') {
                $endtime=date("Y-m-d H:i:s",strtotime(" +1 month"));
                $dqlx='月卡';
            } elseif($kmlist['endtime_type']=='year') {
                $endtime=date("Y-m-d H:i:s",strtotime(" +1 year"));
                $dqlx='年卡';
            } elseif($kmlist['endtime_type']=='date') {
        	    $arr=explode(",",$kmlist['other']);
		        $endtime6=date("Y-m-d H:i:s",strtotime(" +".$arr[5]." second"));
		        $endtime5=date("Y-m-d H:i:s",strtotime("$endtime6 +".$arr[4]." minute"));
		        $endtime4=date("Y-m-d H:i:s",strtotime("$endtime5 +".$arr[3]." hour"));
		        $endtime3=date("Y-m-d H:i:s",strtotime("$endtime4 +".$arr[2]." day"));
		        $endtime2=date("Y-m-d H:i:s",strtotime("$endtime3 +".$arr[1]." month"));
		        $endtime=date("Y-m-d H:i:s",strtotime("$endtime2 +".$arr[0]." year"));
                $dqlx=$endtime;
            } else {
                exit('{"code":-1,"msg":"此卡密有问题请联系管理员更换!"}');
            }
		    $row=$DB->get_row("SELECT * FROM SF_site WHERE uid='{$qq}' limit 1");
            if($row!='') {
                //判断是否存在该QQ
                $sql="insert into `SF_site` (`uid`,`url`,`authcode`,`sign`,`SFid`,`date`,`active`,`endtime`,`daili`) values ('".$qq."','".trim($url)."','".$row['authcode']."','".$row['sign']."','".$kmlist['SFid']."','".$date."','1','".$endtime."','".$kmlist['userid']."')";
                if($DB->query($sql)) {
            	    $DB -> query("update SF_kms set stata=1,com='{$qq}',usetime='$date' where kid='{$kmlist['kid']}'");
                    $DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('游客','卡密兑换','".$date."','".$city."','兑换类型:兑换授权|QQ:".$qq."|授权内容:".$url."|程序:".$cxrow['name']."|兑换时间:".$date."|到期时间:".$dqlx."')");
                    exit('{"code":0,"msg":"兑换成功!"}');
                } else {
                    exit('{"code":-1,"msg":"兑换失败!'.$DB->error().'"}');
                }
            } else {
                $row1=$DB->get_row("SELECT * FROM SF_site WHERE 1 order by sign desc limit 1");
                $sign=$row1['sign']+1;
                $authcode=md5(random(32).$qq);
                $sql="insert into `SF_site` (`uid`,`url`,`authcode`,`sign`,`SFid`,`date`,`active`,`endtime`,`daili`) values ('".$qq."','".trim($url)."','".$authcode."','".$sign."','".$kmlist['SFid']."','".$date."','1','".$endtime."','".$kmlist['userid']."')";
                if($DB->query($sql)) {
            	    $DB -> query("update SF_kms set stata=1,com='{$qq}',usetime='$date' where kid='{$kmlist['kid']}'");
                    $DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('站长','添加授权','".$date."','".$city."','QQ:".$qq."|授权内容:".$url."|程序:".$cxrow['name']."|兑换时间:".$date."|到期时间:".$dqlx."')");
                    exit('{"code":0,"msg":"兑换成功!"}');
                } else {
                    exit('{"code":-1,"msg":"兑换失败!'.$DB->error().'"}');
                }
            }	    
		}
        
		} elseif($kmlist['type']==2) {
			//添加用户
			if($user=='' || $pwd=='' || $qq=='')exit('{"code":-1,"msg":"请先填写用户名,密码和QQ!"}');
			$jcuser=$DB->get_row("SELECT * FROM SF_user WHERE user='{$user}' limit 1");
			if($jcuser)exit('{"code":-1,"msg":"该用户名已存在!"}');
			$cx=$kmlist['SFid'];
			$type=$kmlist['user_type'];
			$active=$kmlist['user_active'];
			if($cx=="")exit('{"code":-1,"msg":"卡密已损坏,请联系上级更换!"}');
			$cxrow = $DB->get_row("SELECT * FROM SF_procedure WHERE id='{$cx}' limit 1");
            if (!$cxrow) exit('{"code":-1,"msg":"平台不存在该程序!"}');
            if ($cxrow['active'] != 1) exit('{"code":-1,"msg":"该程序正在维护中!"}');
			$DB->query("insert into `SF_user` (`user`,`pass`,`rmb`,`jf`,`qq`,`".$cxrow['name']."_type`,`".$cxrow['name']."_active`,`".$cxrow['name']."_userid`) values ('".$user."','".$pwd."','".$cxrow['addsongrmb']."','0','".$qq."','".$type."','".$active."','".$kmlist['userid']."')");
			if($DB -> query("update SF_kms set stata=1,com='{$user}',usetime='$date' where kid='{$kmlist['kid']}'")){
			    $DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('游客','卡密兑换','".$date."','".$city."','兑换用户|账号:".$user."|密码:******|程序:".$chengxu."')");
			    $session=md5($user.$pass.$password_hash);
			    $token=authcode("{$user}\t{$session}", 'ENCODE', SYS_KEY);
			    setcookie("SF_token2", $token, time() + 60480 , '/');
			    @header('Content-Type: text/html; charset=UTF-8');
			    $DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('".$row['uid']."','登录平台','".$date."','".$city."','城市:".$city."|IP:".$clientip."')");
			    exit('{"code":0,"msg":"兑换代理成功,赶快去登录后台吧!"}');
			}else{
			    $DB->query("DELETE FROM SF_user WHERE user='$user'");
			    exit('{"code":-1,"msg":"兑换代理失败,请联系上级更换!"}');
			}
		} elseif($kmlist['type']==3) {
			//兑换其他
			if($qq=='')exit('{"code":-1,"msg":"请先填写QQ!"}');
			$data=$qq;
			$orderid=date("YmdHis").rand(111,999);
			$sql="insert into `SF_orders` (`trade_no`,`value`,`qq`,`input`,`goodname`,`money`,`addtime`,`status`) values ('".$orderid."','1','".$qq."','".$data."','卡密兑换-".$kmlist['other']."','".$km."','".$date."','0')";
			if($DB->query($sql)) {
				$DB -> query("update SF_kms set stata=1,com='{$qq}',usetime='$date' where kid='{$kmlist['kid']}'");
				exit('{"code":0,"msg":"兑换成功!"}');
			} else {
				exit('{"code":-1,"msg":"兑换失败'.$DB->error().'!"}');
			}
		} else {
			exit('{"code":-1,"msg":"兑换失败,兑换类型错误!"}');
		}
	}
	break;
	case 'gh': 
		if ($conf["is_gh"] == 0)exit('{"code":-1,"msg":"该站点已关闭更换授权功能!"}');
	$qq = daddslashes($_POST['qq']);
	$url = daddslashes($_POST['url']);
	$urls = daddslashes($_POST['urls']);
	if($qq==NULL or $url==NULL or $urls==NULL)exit('{"code":-1,"msg":"请确保各项不为空!"}');
	$row=$DB->get_row("select * from SF_site where url = '$url'");
	if(empty($row)) {
		$url='*'.get_host($url);
		$row=$DB->get_row("select * from SF_site where url = '$url'");
	}
	if(empty($row))exit('{"code":-1,"msg":"旧域名不存在!"}');
	if(!isValidDomain($Punycode->encode($urls))) {
		exit('{"code":-1,"msg":"请输入正确的域名!"}');
	} elseif($url==$urls) {
		exit('{"code":-1,"msg":"新域名和旧域名不能相同!"}');
	} elseif($row['uid'] != $qq ) {
		exit('{"code":-1,"msg":"授权QQ不存在!"}');
	} elseif($row['number'] >= $conf['gh_number']) {
		exit('{"code":-1,"msg":"免费更换次数已达上限!"}');
	} else {
		setcookie("url","$url");
		setcookie("urls","$urls");
		exit('{"code":1,"msg":"保存成功!"}');
	}
	break;
	case 'ghsq': 
		if ($conf["is_gh"] == 0)exit('{"code":-1,"msg":"该站点已关闭更换授权功能!"}');
	$qq = daddslashes($_POST['qq']);
	$url = daddslashes($_POST['url']);
	$urls = daddslashes($_POST['urls']);
	$get_token=isset($_SESSION['get_token'])?$_SESSION['get_token']:exit;
	if(!$get_token || !$qq) {
		exit();
	}
	$tokenid=base64_encode(md5($qq.md5($qq.'*$$*').'23132'.md5(date("Y-m-d-H"))));
	if($tokenid!=$get_token)exit('{"code":-1,"msg":"验证信息已过期,请返回重新扫码验证!"}');
	//$sqkey = daddslashes($_POST['sqkey']);
	$row=$DB->get_row("select * from SF_site where url = '$url'");
	if(empty($row))exit('{"code":-1,"msg":"旧域名不存在!"}');
	if($qq==NULL or $url==NULL or $urls==NULL ) {
		exit('{"code":-1,"msg":"请确保各项不为空!"}');
	} elseif(!isValidDomain($Punycode->encode($urls))) {
		exit('{"code":-1,"msg":"请输入正确的域名!"}');
	} elseif($url==$urls) {
		exit('{"code":-1,"msg":"新域名和旧域名不能相同!"}');
	} elseif($row['uid'] != $qq ) {
		exit('{"code":-1,"msg":"授权QQ不存在!"}');
	} elseif($row['number'] >= $conf['gh_number']) {
		exit('{"code":-1,"msg":"免费更换次数已达上限!"}');
	} else {
		$number=$row['number']+1;
		$sql="update `SF_site` set `url` ='{$urls}',`number` ='{$number}' where `id`='{$row['id']}'";
		if($DB->query($sql)) {
			$DB->query("insert into `SF_log` (`uid`,`type`,`date`,`city`,`data`) values ('游客','更换授权','".$date."','".$city."','QQ号:".$qq."|旧域名:".$url."|新域名:".$urls."')");
			exit('{"code":1,"msg":"更换授权成功!"}');
		} else {
			exit('{"code":-1,"msg":"更换授权失败!"}');
		}
		unset($_SESSION['get_token']);
	}
	break;
	case 'dlcx': //代理查询
	if ($conf["is_dlcx"] == 0)exit('{"code":-1,"msg":"该站点已关闭代理查询功能!"}');
	$qq = daddslashes($_POST['data']);
	if(strlen($qq) < 5 || strlen($qq) > 10 || !is_numeric($qq)) {
		exit('{"code":-1,"msg":"请输入正确的QQ号!"}');
	}
	$row=$DB->get_row("SELECT * FROM SF_user WHERE qq='{$qq}' limit 1");
	$rows=$DB->get_row("SELECT * FROM SF_admin WHERE qq='{$qq}' limit 1");
	if($rows['qq']==$qq) {
		exit('{"code":0,"msg":"查询QQ:'.$qq.'<br>该QQ为平台站长,放心交易!"}');
	} elseif(!empty($row)) {
		$SFcxnum=0;
		$rs2=$DB->query("SELECT * FROM SF_procedure where active=1 order by id asc");
		while ($res=$DB->fetch($rs2)) {
			$cx=$DB->get_row("SELECT * FROM SF_user where ".$res['name']."_active=1 and ".$res['name']."_date!='0000-00-00 00:00:00' and ".$res['name']."_type!='0' limit 1");
			if($cx) {
				$SFcxnum++;
			}
		}
		if($SFcxnum==0)exit('{"code":-1,"msg":"查询QQ:'.$qq.'<br>该QQ不是授权商,禁止交易!"}');
		$SFcx='';
		$rs=$DB->query("SELECT * FROM SF_procedure where active=1 order by id asc");
		$i=0;
		while ($res=$DB->fetch($rs)) {
			$cx=$DB->get_row("SELECT * FROM SF_user where ".$res['name']."_active=1 and ".$res['name']."_date!='0000-00-00 00:00:00' and ".$res['name']."_type!='0' limit 1");
			$i++;
			if($cx) {
				if($cx[''.$res['name'].'_type']==1) {
					$power='代理商';
				} elseif($cx[''.$res['name'].'_type']==2) {
					$power='超级管理员';
				} elseif($cx[''.$res['name'].'_type']==3) {
					$power='合作商';
				}
				$SFcx.=$res['name'].':'.$power.'<br>';
			}
		}
		exit('{"code":0,"msg":"查询QQ:'.$qq.'<br><br>'.$SFcx.'"}');
	} else {
		exit('{"code":-1,"msg":"查询QQ:'.$qq.'<br>该QQ不是授权商,禁止交易!"}');
	}
	break;
	case 'onlinebuy': //自助授权
	if ($conf["is_onlinebuy"] == 0)exit('{"code":-1,"msg":"该站点已关闭自助授权功能!"}');
	$url=daddslashes($_POST['url']);
	$qq=daddslashes($_POST['qq']);
	$cx=daddslashes($_POST['chk_value']);
	$type=daddslashes($_POST['type']);
	if($cx=="")exit('{"code":-1,"msg":"未选择需要授权的程序!"}');
	$cxrow=$DB->get_row("SELECT * FROM SF_procedure where id='".$cx."' limit 1");
	if(!$cxrow)exit('{"code":-1,"msg":"平台不存在该程序!"}');
	if($cxrow['is_onlinebuy']==0){
		$result=array("code"=>-1,"msg"=>"程序:<font color=red>“ ".$cxrow['name']." ”</font>已关闭自助授权功能!");
		exit(json_encode($result));
	}
	$cxtyperow=$DB->get_row("SELECT * FROM SF_procedure_type where id='".$cxrow['type']."' limit 1");
	if($cxrow['type']==2){
        $is_fym=false;
		$ym_type='单域名';
	}else{
		$preg = "/^\*\./";
	    if(preg_match($preg,$url)) {
		    $is_fym=true;
		    $ym_type='泛域名';
	    } else {
		    $is_fym=false;
		    $ym_type='单域名';
	    }
	}
	
	$row=$DB->get_row("select * from SF_site where url='$url' and SFid='$cx'");
	eval(str_replace("[auth]",$url,$cxtyperow['type']));
	if (strlen($qq) > 12) {
		$result=array("code"=>-1,"msg"=>"请输入正确的绑定QQ号!");
		exit(json_encode($result));
	} elseif (!is_numeric($qq)) {
		$result=array("code"=>-1,"msg"=>"请输入正确的绑定QQ号!");
		exit(json_encode($result));
	} elseif(strlen($qq) < 5 || !preg_match('/^[0-9]+$/',$qq)) {
		$result=array("code"=>-1,"msg"=>"请输入正确的绑定QQ号!");
		exit(json_encode($result));
	} elseif($row) {
		$result=array("code"=>-1,"msg"=>"平台已经存在该授权!");
		exit(json_encode($result));
	} elseif(in_array($clientip,explode("|",$conf['regiphmd']))) {
		$result=array("code"=>-1,"msg"=>"你的IP已被拉黑,无法授权!");
		exit(json_encode($result));
	}
        if($type=='0') {
			if($is_fym == true) {
				$cx_price+=$cxrow['addallrmb'];
			} else {
				$cx_price+=$cxrow['addrmb'];
			}
			$endtime='0000-00-00 00:00:00';
			$dqlx='永久授权';
		} elseif($type=='hour') {
			if($is_fym == true) {
				$cx_price+=$cxrow['hour_addallrmb'];
			} else {
				$cx_price+=$cxrow['hour_addrmb'];
			}
			$endtime=date("Y-m-d H:i:s",strtotime(" +1 hour"));
			$dqlx='时卡';
		} elseif($type=='day') {
			if($is_fym == true) {
				$cx_price+=$cxrow['day_addallrmb'];
			} else {
				$cx_price+=$cxrow['day_addrmb'];
			}
			$endtime=date("Y-m-d H:i:s",strtotime(" +1 day"));
			$dqlx='天卡';
		} elseif($type=='week') {
			if($is_fym == true) {
				$cx_price+=$cxrow['week_addallrmb'];
			} else {
				$cx_price+=$cxrow['week_addrmb'];
			}
			$endtime=date("Y-m-d H:i:s",strtotime(" +7 day"));
			$dqlx='周卡';
		} elseif($type=='month') {
			if($is_fym == true) {
				$cx_price+=$cxrow['month_addallrmb'];
			} else {
				$cx_price+=$cxrow['month_addrmb'];
			}
			$endtime=date("Y-m-d H:i:s",strtotime(" +1 month"));
			$dqlx='月卡';
		} elseif($type=='year') {
			if($is_fym == true) {
				$cx_price+=$cxrow['year_addallrmb'];
			} else {
				$cx_price+=$cxrow['year_addrmb'];
			}
			$endtime=date("Y-m-d H:i:s",strtotime(" +1 year"));
			$dqlx='年卡';
		} else {
			$result=array("code"=>-1,"msg"=>"授权类型错误!");
			exit(json_encode($result));
		}
		$data=$url.'|'.$qq.'|'.$cx.'|'.$type;
		$orderid=date("YmdHis").rand(111,999);
		$sql="insert into `SF_pay` (`trade_no`,`othertype`,`input`,`name`,`money`,`addtime`,`status`) values ('".$orderid."','onlinebuy','".$data."','自助授权','".$cx_price."','".$date."','0')";
		if($DB->query($sql)) {
			$result=array("code"=>1,"msg"=>"保存订单成功!","orderid"=>$orderid,"money"=> $cx_price);
			exit(json_encode($result));
		} else {
			$result=array("code"=>-1,"msg"=>"保存订单失败!");
			exit(json_encode($result));
		}
	break;
	case 'data_update':
		if ($conf["is_apisq"] == 0)exit('{"code":-1,"msg":"该站点已关闭API授权功能!"}');
	$token = daddslashes($_POST['token']);
	if(empty($conf['apitoken']) || $token != $conf['apitoken']) {
		exit('{"code":-1,"msg":"接口TOKEN验证失败!"}');
	}
	$url = daddslashes($_POST['url']);
	$qq = daddslashes($_POST['qq']);
	$set = urldecode($_POST['set']);
	$sql = "update SF_site set {$set} where url='$url' and qq ='$qq'";
	if($DB->query($sql)) {
		exit('{"code":1,"msg":"【远程修改授权】"}');
	} else {
		exit('{"code":-1,"msg":"【远程修改授权失败】"}');
	}
	break;
	case 'qqlogin':
	error_reporting(0);
	header('Content-type: application/json');
	class qq_qrlogin {
		public function getqrpic() {
			$url='https://ssl.ptlogin2.qq.com/ptqrshow?appid=1006102&e=2&l=M&s=4&d=72&v=4&t=0.5409099'.time().'daid=1&pt_3rd_aid=0';
			$arr=$this->get_curl($url,0,0,0,1,0,0,1);
			$arr['header'];
			preg_match('/qrsig=(.*?);/',$arr['header'],$match);
			if($qrsig=$match[1])
						exit('{"saveOK":0,"qrsig":"'.$qrsig.'","data":"'.base64_encode($arr['body']).'"}'); else
						exit('{"saveOK":1,"msg":"二维码获取失败"}');
		}
		public function qqlogin() {
			global $DB;
			$qrsig=empty(daddslashes($_GET['qrsig']))?exit('{"saveOK":-1,"msg":"qrsig不能为空"}'):daddslashes($_GET['qrsig']);
			$SFGH=$DB->get_row("SELECT * FROM SF_site WHERE url='".$_GET['url']."' limit 1");
			if(!$SFGH) {
				exit('ptuiCB("6","'.$uin.'","旧域名不存在!");');
			}
			//$sig=$this->login_sig();
			$url='https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fid.qq.com%2Findex.html&ptqrtoken='.$this->getqrtoken($qrsig).'&ptredirect=1&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0-'.time().'0000&js_ver=10291&js_type=1&login_sig='.$sig.'&pt_uistyle=40&aid=1006102&daid=1&';
			$ret = $this->get_curl($url,0,$url,'qrsig='.$qrsig.'; ',1);
			if(preg_match("/ptuiCB\('(.*?)'\)/", $ret, $arr)) {
				$r=explode("','",str_replace("', '","','",$arr[1]));
				if($r[0]==0) {
					preg_match('/uin=(\d+)&/',$ret,$uin);
					$uin=$uin[1];
					preg_match('/skey=@(.{9});/',$ret,$skey);
					preg_match('/superkey=(.*?);/',$ret,$superkey);
					$data=$this->get_curl($r[2],0,0,0,1);
					if($data) {
						preg_match("/p_skey=(.*?);/", $data, $matchs);
						$pskey = $matchs[1];
					}
					if($SFGH['uid']==trim($uin) && $pskey) {
						$get_token=base64_encode(md5($uin.md5($uin.'*$$*').'23132'.md5(date("Y-m-d-H"))));
						$_SESSION['get_token']=$get_token;
						exit('ptuiCB("0","'.$uin.'","0","0","0","0","'.urlencode($r[5]).'");');
					} elseif(!$pskey) {
						exit('ptuiCB("5","'.$uin.'","获取信息失败!");');
					} else
										exit('ptuiCB("4","'.$uin.'","QQ验证未通过!");');
				} elseif($r[0]==65) {
					exit('ptuiCB("1","'.$uin.'","二维码已失效。");');
				} elseif($r[0]==66) {
					exit('ptuiCB("2","'.$uin.'","二维码未失效。");');
				} elseif($r[0]==67) {
					exit('ptuiCB("3","'.$uin.'","正在验证二维码。");');
				} else {
					exit('ptuiCB("6","'.$uin.'","'.str_replace('"','\'',$r[4]).'");');
				}
			} else {
				exit('{"saveOK":6,"msg":"'.$ret.'"}');
			}
		}
		private function getGTK($skey) {
			$len = strlen($skey);
			$hash = 5381;
			for ($i = 0; $i < $len; $i++) {
				$hash += ($hash << 5) + ord($skey[$i]);
			}
			return $hash & 0x7fffffff;
			//计算g_tk
		}
		private function getuin($uin) {
			for ($i = 0; $i < strlen($uin); $i++) {
				if($uin[$i]=='o'||$uin[$i]=='0')continue; else break;
			}
			return substr($uin,$i);
		}
		private function getqrtoken($qrsig) {
			$len = strlen($qrsig);
			$hash = 0;
			for ($i = 0; $i < $len; $i++) {
				$hash += (($hash << 5) & 2147483647) + ord($qrsig[$i]) & 2147483647;
				$hash &= 2147483647;
			}
			return $hash & 2147483647;
		}
		private function get_curl($url,$post=0,$referer=0,$cookie=0,$header=0,$ua=0,$nobaody=0,$split=0) {
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL,$url);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
			$httpheader[] = "Accept:*/*";
			$httpheader[] = "Accept-Encoding:gzip,deflate,sdch";
			$httpheader[] = "Accept-Language:zh-CN,zh;q=0.8";
			$httpheader[] = "Connection:close";
			curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
			if($post) {
				curl_setopt($ch, CURLOPT_POST, 1);
				curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
			}
			if($header) {
				curl_setopt($ch, CURLOPT_HEADER, TRUE);
			}
			if($cookie) {
				curl_setopt($ch, CURLOPT_COOKIE, $cookie);
			}
			if($referer) {
				curl_setopt($ch, CURLOPT_REFERER, $referer);
			}
			if($ua) {
				curl_setopt($ch, CURLOPT_USERAGENT,$ua);
			} else {
				curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36');
			}
			if($nobaody) {
				curl_setopt($ch, CURLOPT_NOBODY,1);
			}
			curl_setopt($ch, CURLOPT_ENCODING, "gzip");
			curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
			$ret = curl_exec($ch);
			if ($split) {
				$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
				$header = substr($ret, 0, $headerSize);
				$body = substr($ret, $headerSize);
				$ret=array();
				$ret['header']=$header;
				$ret['body']=$body;
			}
			curl_close($ch);
			return $ret;
		}
	}
	$login=new qq_qrlogin();
	if($_GET['do']=='qqlogin') {
		$login->qqlogin();
	}
	if($_GET['do']=='getqrpic') {
		$login->getqrpic();
	}
	break;
	case 'SF_music':
	$limit = $conf['music_num'];
	if($conf['site_background_music']==2) {
		$sort='热歌榜';
	} elseif($conf['site_background_music']==3) {
		$sort='新歌榜';
	} elseif($conf['site_background_music']==4) {
		$sort='飙升榜';
	} elseif($conf['site_background_music']==5) {
		$sort='抖音榜';
	} elseif($conf['site_background_music']==6) {
		$sort='电音榜';
	}
	$data = array();
	for ($i = 0; $i < $limit; $i++) {
		$query = curl_get('https://api.uomg.com/api/rand.music?sort='.$sort.'&format=json');
		$query = json_decode($query, true);
		if ($query['code'] != 1) {
			continue;
		}
		$data[] = array("title"=>$query['data']['name'],"url"=>$query['data']['url'],"pic"=>$query['data']['picurl'],"author"=>$query['data']['artistsname']);
	}
	$result = array(
	    "Code" => "OK",
	    "Body" => $data
	);
	exit(json_encode($result));
	break;
	case 'unset_session':
	unset($_SESSION['get_token']);
	$qrsig='SF授权系统';
	exit('{"code":1,"msg":"注销成功!"}');
	break;
	default:
		exit('{"code":-4,"msg":"SF提示您:No Act"}');
	break;
}
资源下载
下载价格终身VIP专享
仅限终身VIP下载升级终身VIP
0

评论0

没有账号?注册  忘记密码?