Cat-api-open/index.php
2025-07-12 14:01:55 +08:00

51 lines
1.5 KiB
PHP

<?php
$allowedRefererDomains = [
'8.140.229.121',
'154.9.228.54',
];
$designatedImagePath = 'doge.jpg';
if (isset($_SERVER['HTTP_REFERER'])) {
$refererUrl = $_SERVER['HTTP_REFERER'];
$refererHost = parse_url($refererUrl, PHP_URL_HOST);
if (in_array($refererHost, $allowedRefererDomains)) {
if (file_exists($designatedImagePath) && is_readable($designatedImagePath)) {
$imageMimeType = mime_content_type($designatedImagePath);
header('Content-Type: ' . $imageMimeType);
readfile($designatedImagePath);
exit;
}
}
}
include('config.php');
// 安全地获取API名称
$api = isset($_GET['api']) ? $_GET['api'] : '';
// 白名单验证
$allowedApis = ['pic', 'favicon', 'bj', 'fox', 'total-pic', 'announcements'];
if (empty($api)) {
include('includes/home.php');
} elseif (in_array($api, $allowedApis)) {
if ($api === 'pic') {
include('includes/pic-header.php');
include('includes/pic-table-default.php');
include('includes/pic-push.php');
} elseif (in_array($api, ['favicon', 'bj', 'fox'])) {
include('includes/pic-header.php');
include('includes/pic-table-others.php');
include('includes/pic-push.php');
} else { // 'total-pic' or 'announcements'
header('Content-Type: application/json');
include ('includes/' . $api . '.php');
}
} else {
http_response_code(404);
header('Content-Type: application/json');
echo json_encode(['code' => 404,'messages' => 'Not Found']);
exit;
}
?>