Я создаю прокси в Perl, который проверяет, разрешен ли пользователю доступ к определенному файлу, и если да, возвращает этот файл пользователю.Пользователь обращается к файлу, вызывая URL-адрес в форме:
http://www.example.com/products?id=1234
Если пользователь авторизован для доступа к файлу, он должен быть возвращен пользователю с правильным именем и типом файла.Вот код, который я сейчас использую для этого, который, кажется, не работает правильно:
my $file = "/path/to/file.tar.gz";
open FILE,qq|<$file| || die!;
print $cgi->header('application/x-gzip');
print <FILE>;
close FILE;
Я уверен, что есть что-то простое, что я пропускаю, но как мне указатьимя возвращаемого файла и убедитесь, что браузер пользователя рассматривает как правильный тип файла?Чтобы было ясно, я не хочу, чтобы пользователь мог получить доступ к файлу на сервере напрямую, но вместо этого хочу, чтобы скрипт Perl считывал и затем возвращал файл пользователю.