- 在ImageProxy中添加了域名白名单配置,支持精确和子域名匹配,增强安全性。 - 实现了日志文件的自动清理和轮转功能,限制日志文件大小、保留时间和数量,优化日志管理。 - 更新README文档,详细说明了新功能和配置方法。
38 lines
848 B
PHP
38 lines
848 B
PHP
<?php
|
|
require_once 'ImageProxy.php';
|
|
|
|
// 设置错误报告
|
|
error_reporting(E_ERROR | E_PARSE);
|
|
|
|
// 设置内存限制
|
|
ini_set('memory_limit', '256M');
|
|
|
|
// 设置执行时间限制
|
|
set_time_limit(30);
|
|
|
|
// 获取URL参数
|
|
$url = $_GET['url'] ?? '';
|
|
|
|
// 创建ImageProxy实例
|
|
$proxy = new ImageProxy([
|
|
'cache_dir' => 'cache',
|
|
'timeout' => 30,
|
|
'connect_timeout' => 15,
|
|
'max_redirects' => 5,
|
|
'allowed_domains' => [
|
|
'doubanio.com'
|
|
// 'trusted-site.com',
|
|
// 'images.example.org'
|
|
// 在这里添加更多允许的域名
|
|
]
|
|
]);
|
|
|
|
// 处理请求
|
|
if (!empty($url)) {
|
|
$proxy->processRequest($url);
|
|
} else {
|
|
// 输出错误信息
|
|
header("HTTP/1.1 400 Bad Request");
|
|
header("Content-type: image/jpeg");
|
|
echo base64_decode('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7');
|
|
}
|