Starší komentáře ke článku: Zabezpečení souboru heslem bez HTTP pomocí PHP
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 16.11.2001 20:32:13
Jak lze pouzit vyse uvedeny soubor .htaccess? Musi to byt nejak povoleno administratorem serveru? Je v tom souboru neco nebo je prazdny?
Datum vložení: 28.3.2003 14:28:42
Pravdepodobne jste to jiz vyresil. Mne tento problem vznikl dnes a pro ty, kteri prijdou po mne:
vytvoril jsme .htaccess obsahujici pouze jeden radek "deny from all" (bez uvozovek). Od ted lze soubory z daneho adresare stahnout jen pomoci php. Browser tam nemuze (natluce si jak pri vypisu obsahu slozky, tak pri zadani presneho url souboru).
Muzete to doplnit treba jeste dalsim radkem pro osetreni chyby:
"ErrorDocument 403 /.chyby/403.html"
Moznosti je vic, staci trochu kamaradit s googlem ;-).
Datum vložení: 19.12.2001 0:20:17
V Mozille to nefunguje, nenabidne spravne jmeno
souboru (nabidne pristup.php)
Asi nerozumi hlavicce Content-disposition.
Nevite nekdo, co s tim?
Reseni to asi nema...
Datum vložení: 8.6.2003 1:49:39
Podle me je divna ta hlavicka app/f-download. Mozna je v RFC, ale v praxi ji vidim poprve. Normalne bych tam dal app/x- neco, podle dat. To mi funguje napriklad i pro text/xml - bez Content-disposition to zobrazi, s to stahne.
Datum vložení: 18.5.2004 10:22:32
Toto řešení nefunguje v IE (testováno na IE6 SP1) pro správnou funkci v IE je nutno přidat další hlavičky
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
(zdroj: <a href='http://marek.fabry.cz/php_clanek001.html)' target='_blank'>http://marek.fabry.cz/php_clanek001.html)</a>
Datum vložení: 24.5.2004 11:22:05
header("Content-Disposition: attachment; filename=".$subor);
readfile($subor);
Datum vložení: 14.1.2007 13:07:11
Popsany skript jsem testoval a narazil jsem na nekolik problemu, nektere jsou zde diskutovane. Jeden vsak zustal i po aplikaci vsech doporuceni a to ze stazeny soubor nebyl obsahove zcela shodny se zdrojovym. Nekdo si tam pridaval znaky CR + LF na konec souboru. Po stazeni byl soubor o 2Byte vetsi. Jestli to dela prohlizec nebo primo funkce readfile nevim. Celou vec jsem nakonec vyresil tak, ze jsem pridal jeste jednu hlavicku, ktera definuje delku obsahu. Vypada to asi takto s aplikaci vsech doporuceni pro ruzne prohlizece: if (autorizace_v_poradku() && file_exists($cesta.$soubor)){ header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header("Content-Disposition: attachment; filename=\"".$soubor."\";"); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($cesta.$soubor)); readfile($cesta.$soubor) OR die();} Snad vam to nekomu pomuze, trapil jsem se tim nejmene hodinu.
Datum vložení: 14.1.2007 14:31:14
Ten skript ma jeste jednu mouchu. jak jsem testovanim zjistil, pokud to ladim na Windows, jeden to dobre, ale jakmile jsem skript prehral na linux a spustil, zase se mi objevili 2B na konci souboru. Skript jsem upravil na: if (autorizace_v_poradku() && file_exists($cesta.$soubor)){ header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header("Content-Disposition: attachment; filename=\"".$soubor."\&quo… header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($cesta.$soubor)); readfile($cesta.$soubor); exit; } To vypada ze funguje v MSIE i FF. Hodne zdaru.