download - скрипт и безопасность?

AHTIXPICT

Новичок
download - скрипт и безопасность?

Типа скрипт отдающий файл на закачку.
Файл допустим лежит в /tmp/
download.php
//-----------------
<?
$filename = $_GET['filename'];
header("Content-type: application/".preg_replace("/(\w+).(\w+)/i","\\2",$filename));
header("Content-Disposition: attachment; filename=".$filename."; Content-length: ".filesize($filename));
//header('Content-Length: '.filesize($filename));
readfile($filename);
?>
//-----------------


а теперь пишем строку в адресной строке
http://server.name.com/attach/download.php?filename=../etc/passwd

и в итоге я получил файл пароля.
Может я неправильно скрипт отдающий написал.
Подскажите идею борьбы с таким?
 

Demiurg

Guest
убери все слеши в названии файла, и будут тобе только файлы из папки tmp
 
Сверху