ez-api/index.php
2024-11-02 13:14:54 +08:00

48 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
include 'core/db.php';
include 'core/clean.php';
// TODO: cookie management
session_start();
// 获取参数并清理
$api_class = isset($_GET['class']) ? sanitizeInput($_GET['class']) : '';
$api = isset($_GET['api']) ? sanitizeInput($_GET['api']) : '';
if (empty($api_class)) {
http_response_code(200);
echo json_encode(array('status' => 'Home page'));
exit();
}
// 验证输入是否符合预期格式
elseif (!preg_match('/^[a-zA-Z0-9_]+$/', $api_class) || !preg_match('/^[a-zA-Z0-9_]+$/', $api)) {
header("Content-Type: application/json");
http_response_code(400); // Bad Request
echo json_encode(array('error' => 'Invalid input'));
exit();
}
// 构建文件路径
$file_path = 'includes/' . $api_class . '/' . $api . '.php';
// 检查文件是否存在
if (!file_exists($file_path)) {
header("Content-Type: application/json");
http_response_code(404); // Not Found
echo json_encode(array('error' => '404 Not Found', 'message' => 'The requested resource could not be found'));
exit();
}
// 如果不是 public API则启用路由
if ($api_class != 'public') {
header("Content-Type: application/json");
include 'core/router.php';
} else {
header("Content-Type: application/json");
}
// 包含文件
include $file_path;
?>