S2OJ/web/app/controllers/image_hosting/get_image.php

25 lines
578 B
PHP
Raw Normal View History

2022-10-12 12:35:23 +00:00
<?php
requirePHPLib('form');
if (!Auth::check() && UOJConfig::$data['switch']['force-login']) {
become403Page(UOJLocale::get('need login'));
2022-10-12 12:35:23 +00:00
}
2022-10-12 13:10:07 +00:00
$name = $_GET['image_name'];
if (!validateString($name)) {
become404Page();
}
$file_name = UOJContext::storagePath()."/image_hosting/$name.png";
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $file_name);
if ($mimetype === false) {
become404Page();
}
finfo_close($finfo);
header("X-Sendfile: $file_name");
header("Content-type: $mimetype");
header("Cache-Control: max-age=604800", true);