2.2
parent
6090fc4aca
commit
d02832045d
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
// 获取 access_key
|
||||
$access_key = @$_GET['access_key'];
|
||||
// 判断 access_key
|
||||
if ($access_key != ""){
|
||||
$url = "https://black.qimo.ink/?access_key=".$access_key;
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch,CURLOPT_URL,$url);
|
||||
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
|
||||
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
|
||||
$out = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
// 如果是黑名单
|
||||
if ($out=="ban"){
|
||||
if (REPLACE_HLW==1){
|
||||
include ("hlw.php");
|
||||
hlw();
|
||||
}else{
|
||||
exit(BLOCK_RETURN);
|
||||
}
|
||||
}
|
||||
}else if (NEED_LOGIN == 1){
|
||||
exit(BLOCK_RETURN);
|
||||
}
|
||||
?>
|
@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
$db_host=DB_HOST;
|
||||
$db_user=DB_USER;
|
||||
$db_pass=DB_PASS;
|
||||
$db_name=DB_NAME;
|
||||
$dbh='mysql:host='.$db_host.';'.'dbname='.$db_name;
|
||||
try{
|
||||
$dbh = new PDO($dbh,$db_user,$db_pass);
|
||||
//echo '成功';
|
||||
}catch(PDOException $e){
|
||||
//pass
|
||||
}
|
||||
|
||||
// 参数
|
||||
$access_key = @$_GET['access_key'];
|
||||
$area = @$_GET['area'];
|
||||
$cid = @$_GET['cid'];
|
||||
$ep_id = @$_GET['ep_id'];
|
||||
$refresh_cache = 0;
|
||||
|
||||
if ($access_key ==""){
|
||||
$type = "0";
|
||||
}else{
|
||||
// 判断大会员
|
||||
$sqlco = "SELECT `due_date` FROM `keys` WHERE `access_key` = '".$access_key."'";
|
||||
$cres = $dbh -> query($sqlco);
|
||||
$vnum = $cres -> fetch();
|
||||
$due = $vnum['due_date'];
|
||||
if ((int)$due > time()*1000 ){
|
||||
$type = "2";
|
||||
}else{
|
||||
$type = "1";
|
||||
}
|
||||
}
|
||||
|
||||
// 获取缓存
|
||||
function get_cache(){
|
||||
global $dbh;
|
||||
global $type;
|
||||
global $area;
|
||||
global $cid;
|
||||
global $ep_id;
|
||||
global $refresh_cache;
|
||||
$ts = time();
|
||||
|
||||
$sqlco = "SELECT * FROM `cache` WHERE `area` = '$area' AND `type` = '$type' AND `cid` = '$cid' AND `ep_id` = '$ep_id'";
|
||||
$cres = $dbh -> query($sqlco);
|
||||
$vnum = $cres -> fetch();
|
||||
$cache = $vnum['cache'];
|
||||
$add_time = $vnum['add_time'];
|
||||
$cache = str_replace("u0026","&",$cache);
|
||||
if ($cache != ""){
|
||||
if( (int)$add_time+CACHE_TIME>=$ts){
|
||||
exit($cache);
|
||||
}else{
|
||||
//刷新缓存
|
||||
$refresh_cache = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 写入缓存
|
||||
function write_cache(){
|
||||
global $dbh;
|
||||
global $type;
|
||||
global $area;
|
||||
global $cid;
|
||||
global $ep_id;
|
||||
global $output;
|
||||
global $refresh_cache;
|
||||
$ts = time();
|
||||
$array = json_decode($output, true);
|
||||
$code = $array['code'];
|
||||
if ($code == "0"){
|
||||
$a = explode('mid=', $output);
|
||||
$out = $a[0];
|
||||
for($j=1; $j<count($a)-1; $j++){
|
||||
//echo $a[$j];
|
||||
$b = explode('orderid=', $a[$j]);
|
||||
$out = $out.'orderid='.$b[1];
|
||||
}
|
||||
$output = $out.$a[count($a)-1];
|
||||
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','$area','$type','$cid','$ep_id','$output')";
|
||||
//刷新缓存
|
||||
if ($refresh_cache==1){
|
||||
$sql = "UPDATE `cache` SET `add_time` = '$ts', `cache` = '$output' WHERE `area` = '$area' AND `type` = '$type' AND `cid` = '$cid' AND `ep_id` = '$ep_id';";
|
||||
}
|
||||
$dbh -> exec($sql);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,39 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
--
|
||||
-- Host: localhost
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cache` (
|
||||
`id` int(10) unsigned NOT NULL COMMENT 'id',
|
||||
`add_time` int(11) NOT NULL COMMENT '添加时间',
|
||||
`area` varchar(10) DEFAULT NULL,
|
||||
`type` tinyint(4) NOT NULL,
|
||||
`cid` varchar(100) NOT NULL,
|
||||
`ep_id` varchar(100) DEFAULT NULL,
|
||||
`cache` mediumtext NOT NULL COMMENT '缓存内容'
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='缓存';
|
||||
|
||||
ALTER TABLE `cache`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `add_time` (`add_time`);
|
||||
|
||||
ALTER TABLE `cache`
|
||||
MODIFY `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',AUTO_INCREMENT=1;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `keys` (
|
||||
`id` int(10) UNSIGNED NOT NULL COMMENT 'id',
|
||||
`add_time` datetime NOT NULL COMMENT '添加时间',
|
||||
`uid` int(20) DEFAULT NULL COMMENT '用户ID',
|
||||
`access_key` varchar(100) DEFAULT NULL,
|
||||
`due_date` bigint(50) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='访客表';
|
||||
|
||||
|
||||
ALTER TABLE `keys`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `add_time` (`add_time`);
|
||||
|
||||
ALTER TABLE `keys`
|
||||
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id', AUTO_INCREMENT=1;
|
||||
COMMIT;
|
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include($_SERVER['DOCUMENT_ROOT']."/index.php");
|
||||
?>
|
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include($_SERVER['DOCUMENT_ROOT']."/index.php");
|
||||
?>
|
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include($_SERVER['DOCUMENT_ROOT']."/index.php");
|
||||
?>
|
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
// https://zhuanlan.zhihu.com/p/122967323
|
||||
//获取访客信息
|
||||
//pdo连接数据库
|
||||
$db_host=DB_HOST;
|
||||
$db_user=DB_USER;
|
||||
$db_pass=DB_PASS;
|
||||
$db_name=DB_NAME;
|
||||
$dbh='mysql:host='.$db_host.';'.'dbname='.$db_name;
|
||||
try{
|
||||
$dbh = new PDO($dbh,$db_user,$db_pass);
|
||||
//echo '连接成功';
|
||||
}catch(PDOException $e){
|
||||
//pass
|
||||
}
|
||||
|
||||
$access_key = @$_GET['access_key'];
|
||||
if ($access_key !=""){
|
||||
$sqlco = "SELECT `uid` as num FROM `keys` WHERE `access_key` = '".$access_key."'";
|
||||
$cres = $dbh -> query($sqlco);
|
||||
$vnum = $cres -> fetch();
|
||||
$uid = $vnum['num'];
|
||||
if ($uid==""||$uid=="0"){
|
||||
$out = get_userinfo();
|
||||
$uid = $out[0];
|
||||
$due = $out[1];
|
||||
if ($uid != "0"){
|
||||
$sql =" INSERT INTO `keys` (`add_time`,`uid`,`access_key`,`due_date`) VALUES (now(),'$uid','$access_key','$due')";
|
||||
$dbh -> exec($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function get_userinfo(){
|
||||
$access_key = $_GET['access_key'];
|
||||
$ts = $_GET['ts'];
|
||||
$appkey = "1d8b6e7d45233436";
|
||||
$appsec = "560c52ccd288fed045859ed18bffd973";
|
||||
$sign = md5("access_key=".$access_key."&appkey=".$appkey."&ts=".$ts.$appsec);
|
||||
$testurl = "https://app.bilibili.com/x/v2/account/myinfo?access_key=".$access_key."&appkey=".$appkey."&ts=".$ts."&sign=".$sign;
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $testurl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$array = json_decode($output, true);
|
||||
$code = $array['code'];
|
||||
if ($code=="0"){
|
||||
$out[0] = $array['data']['mid'];
|
||||
$out[1] = $array['data']['vip']['due_date'];
|
||||
}else{
|
||||
$out[0] = "0";
|
||||
$out[1] = "0";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include($_SERVER['DOCUMENT_ROOT']."/index.php");
|
||||
?>
|
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
// 白名单
|
||||
$whitelist = array("1", "2", "3");
|
||||
// 获取 access_key
|
||||
$access_key = @$_GET['access_key'];
|
||||
// 判断 access_key
|
||||
if ($access_key != ""){
|
||||
if (SAVE_CACHE==1){
|
||||
$uid = get_uid_fromsql();
|
||||
}else{
|
||||
$uid = get_uid();
|
||||
}
|
||||
if (!in_array($uid, $whitelist)) {
|
||||
if (REPLACE_HLW==1){
|
||||
include ("hlw.php");
|
||||
hlw();
|
||||
}else{
|
||||
exit(BLOCK_RETURN);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
exit(BLOCK_RETURN);
|
||||
}
|
||||
|
||||
function get_uid(){
|
||||
$access_key = $_GET['access_key'];
|
||||
$ts = time();
|
||||
$appkey = "1d8b6e7d45233436";
|
||||
$appsec = "560c52ccd288fed045859ed18bffd973";
|
||||
$sign = md5("access_key=".$access_key."&appkey=".$appkey."&ts=".$ts.$appsec);
|
||||
$testurl = "https://app.bilibili.com/x/v2/account/myinfo?access_key=".$access_key."&appkey=".$appkey."&ts=".$ts."&sign=".$sign;
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $testurl);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$array = json_decode($output, true);
|
||||
$code = $array['code'];
|
||||
if ($code=="0"){
|
||||
$uid = $array['data']['mid'];
|
||||
}else{
|
||||
$uid = "0";
|
||||
}
|
||||
return $uid;
|
||||
}
|
||||
|
||||
function get_uid_fromsql(){
|
||||
$db_host=DB_HOST;
|
||||
$db_user=DB_USER;
|
||||
$db_pass=DB_PASS;
|
||||
$db_name=DB_NAME;
|
||||
$dbh='mysql:host='.$db_host.';'.'dbname='.$db_name;
|
||||
try{
|
||||
$dbh = new PDO($dbh,$db_user,$db_pass);
|
||||
//echo '成功';
|
||||
}catch(PDOException $e){
|
||||
//pass
|
||||
}
|
||||
$access_key = $_GET['access_key'];
|
||||
$sqlco = "SELECT `uid` FROM `keys` WHERE `access_key` = '".$access_key."'";
|
||||
$cres = $dbh -> query($sqlco);
|
||||
$vnum = $cres -> fetch();
|
||||
$uid = $vnum['uid'];
|
||||
return $uid;
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue