Merge pull request #11 from AisukaYuki/main

fixed a bug with web js and cache type errors
pull/13/head
david082321 4 years ago committed by GitHub
commit 2c0faf4cb3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,7 +6,7 @@
## 下载:
* [下载(GitHub) v2.9.18](https://github.com/david082321/BiliRoaming-PHP-Server/raw/main/Server_v2.9.18.zip)
* [下载(GitHub) v2.9.18-beta1](https://github.com/david082321/BiliRoaming-PHP-Server/raw/main/Server_v2.9.18-beta1.zip)
## 用法:
@ -68,6 +68,8 @@
* 导入 cache.sql
* !!!重要!!!由于网页脚本的更新,为作缓存区分,更新了数据库字段,请务必更新数据库。
## (非必要步骤,实验性) 支持网页版油猴脚本
* [油猴脚本地址](https://github.com/ipcjs/bilibili-helper/blob/user.js/packages/unblock-area-limit/README.md)
@ -130,4 +132,4 @@
├─sign.php (重签名)[未公开源码]
└─resign.php (替换access_key)[未公开源码]
└─resign.php (替换access_key)[未公开源码]

Binary file not shown.

Binary file not shown.

@ -40,9 +40,10 @@ try {
function get_cache() {
global $dbh;
global $member_type;
global $cache_type;
global $refresh_cache;
$ts = time();
$sqlco = "SELECT * FROM `cache` WHERE `area` = '".AREA."' AND `type` = '".$member_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."'";
$sqlco = "SELECT * FROM `cache` WHERE `area` = '".AREA."' AND `type` = '".$member_type."' AND `cache_type` = '".$cache_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."'";
$cres = $dbh -> query($sqlco);
$vnum = $cres -> fetch();
$cache = $vnum['cache'];
@ -65,6 +66,7 @@ function write_cache() {
global $dbh;
global $SERVER_AREA;
global $member_type;
global $cache_type;
global $output;
global $refresh_cache;
$ts = time();
@ -79,15 +81,15 @@ function write_cache() {
$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."','".$member_type."','".CID."','".EP_ID."','$output')";
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cache_type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','".AREA."','".$member_type."','".$cache_type."','".CID."','".EP_ID."','$output')";
// 刷新缓存
if ($refresh_cache == 1) {
$sql = "UPDATE `cache` SET `add_time` = '$ts', `cache` = '$output' WHERE `area` = '".AREA."' AND `type` = '".$member_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."';";
$sql = "UPDATE `cache` SET `add_time` = '$ts', `cache` = '$output' WHERE `area` = '".AREA."' AND `type` = '".$member_type."' AND `cache_type` = '".$cache_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."';";
}
$dbh -> exec($sql);
// 缓存地区错误
} else if (in_array(AREA, $SERVER_AREA)) {
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cid`,`ep_id`,`cache`) VALUES ('9999999999','".AREA."','".$member_type."','".CID."','".EP_ID."','$output')";
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cache_type`,`cid`,`ep_id`,`cache`) VALUES ('9999999999','".AREA."','".$member_type."','".$cache_type."','".CID."','".EP_ID."','$output')";
if ($code == "-10403") {// 10403 地区错误
$dbh -> exec($sql);
} else if ($code == "-404" && AREA == "th") {// 404 泰版地区错误
@ -95,4 +97,4 @@ function write_cache() {
}
}
}
?>
?>

@ -1,5 +1,5 @@
-- phpMyAdmin SQL Dump
--
--
-- Host: localhost
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
@ -9,6 +9,7 @@ CREATE TABLE IF NOT EXISTS `cache` (
`add_time` int(11) NOT NULL COMMENT '添加时间',
`area` varchar(10) DEFAULT NULL,
`type` tinyint(4) NOT NULL,
`cache_type` varchar(100) NOT NULL,
`cid` varchar(100) NOT NULL,
`ep_id` varchar(100) DEFAULT NULL,
`cache` mediumtext NOT NULL COMMENT '缓存内容'

@ -24,7 +24,7 @@ function get_cache_season() {
global $member_type;
global $refresh_cache_season;
$ts = time();
$sqlco = "SELECT * FROM `cache` WHERE `area` = 'season' AND `type` = '0' AND `cid` = '0' AND `ep_id` = '".SS_ID."'";
$sqlco = "SELECT * FROM `cache` WHERE `area` = 'season' AND `type` = '0' AND `cache_type` = 'season' AND `cid` = '0' AND `ep_id` = '".SS_ID."'";
$cres = $dbh -> query($sqlco);
$vnum = $cres -> fetch();
$cache = $vnum['cache'];
@ -54,17 +54,17 @@ function write_cache_season() {
$array = json_decode($output, true);
$code = $array['code'];
if ($code == "0") {
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','season','0','0','".SS_ID."','$output')";
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cache_type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','season','0','season','0','".SS_ID."','$output')";
// 刷新缓存
if ($refresh_cache_season == 1) {
$sql = "UPDATE `cache` SET `add_time` = '$ts', `cache` = '$output' WHERE `area` = '".AREA."' AND `type` = '".$member_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."';";
$sql = "UPDATE `cache` SET `add_time` = '$ts', `cache` = '$output' WHERE `area` = '".AREA."' AND `cache_type` = 'season' AND `type` = '".$member_type."' AND `cid` = '".CID."' AND `ep_id` = '".EP_ID."';";
}
$dbh -> exec($sql);
// 缓存 404 错误
} else if ($code == "-404") {
$ts = $ts + CACHE_TIME_SEASON_404;
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','season','0','0','".SS_ID."','$output')";
$sql ="INSERT INTO `cache` (`add_time`,`area`,`type`,`cache_type`,`cid`,`ep_id`,`cache`) VALUES ('$ts','season','0','season','0','".SS_ID."','$output')";
$dbh -> exec($sql);
}
}
?>
?>

@ -78,9 +78,13 @@ define('CID', @$_GET['cid']);
define('EP_ID', @$_GET['ep_id']);
define('SS_ID', @$_GET['season_id']);
define('BILIROAMING_VERSION', @$_SERVER['HTTP_X_FROM_BILIROAMING']);
if (@$_GET['area'] == '' && BILIROAMING_VERSION == '') {
define('AREA', 'noarea');
}else if (@$_GET['area'] == '') {
if (BILIROAMING_VERSION == '') {
if (BILIROAMING == 1 && WEB_ON == 0) { //仅限漫游用户且未开放web脚本
exit(BLOCK_RETURN);
}else if (@$_GET['area'] == '' || @$_GET['area'] == 'false') { //web脚本
define('AREA', 'noarea');
}
}else if (@$_GET['area'] == '') { //适配老漫游版本
define('AREA', 'oldversion');
}else{
define('AREA', @$_GET['area']);
@ -105,4 +109,4 @@ if (in_array(AREA, $BAN_SERVER_AREA)) {
if(!defined('SYSTEM')) {
exit(BLOCK_RETURN);
}
?>
?>

@ -1,7 +1,7 @@
<?php
// 防止外部破解
define('SYSTEM', TRUE);
define('VERSION', '2.9.18');
define('VERSION', '2.9.18-beta1');
// 加载配置
include ("config.php");
// 加上json的Header
@ -17,6 +17,13 @@ if (SAVE_CACHE == 1) {
}
// 判断要转发的内容
$path = explode('/index.php', $_SERVER['PHP_SELF'])[0];
// 判断接口区分app和web缓存
$cache_type = 'app';//默认类型app
if ($path == "/pgc/player/web/playurl") {
$cache_type = 'web';
}
$query = $_SERVER['QUERY_STRING'];
if ($path == "/intl/gateway/v2/ogv/playurl" || $path == "/intl/gateway/v2/ogv/view/app/season") {
$host = CUSTOM_HOST_TH;
@ -126,4 +133,4 @@ function get_webpage($url,$host="",$ip="") {
curl_close($ch);
return $output;
}
?>
?>

Loading…
Cancel
Save