<?
/*
zdroj - http://www.linuxsoft.cz/article.php?id_article=310
Trik spočívá v přidání hlaviček, které se pokusí vysvětlit prohlížečům, že mají se souborem zacházet jako s něčím ke stažení a ne to zobrazovat. Pozor, zase platí, že k souboru musíme mít minimálně právo pro čtení, abychom jej mohli stáhlout. Různé prohlížeče se k tomuto postupu postaví různě, ale je to lepší než nic.
Pozn.: V reálné aplikaci bychom zřejmě místo proměnné $soubor, která je zde nastavena "natvrdo" použili funkci a umožnili bychom tak stahovat například soubor předaný jako parametr. V příkladu to není úmyslně, je to potenciální bezpečnostní díra do souborového systému webu.
Uvědomte si rovněž, že to, co chceme stahovat vůbec nemusí předtím existovat jako soubor na serveru. Následující skript například vytvoří
*/
/*
Pokud máte zapnutou PHP konstantu magic_quotes_gpc, tak u $_POST, $_GET a $_COOKIE automaticky dochází k přidávání zpětných lomítek například před uvozovku, apostrof a zpětné lomítko. Ještě jednou zdůrazňuji, že automaticky.
*/
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
$file_name = $_POST['file_name'];
header("Content-Disposition: attachment; filename=\"$file_name\"");
$source = $_POST['source'];
echo $source;
?>
|