Php fájletöltési probléma.
Sziasztok!
Van egy ilyen kódom:
header('content-type:application/force-download');
header('content-disposition:attachment;filename="'.$_GET['mit'].'"');
readfile("csatol/".$_GET['mit']);
A begetelt mit az pl így néz ki: valami.jpg
A letöltendő fájl bármi lehet.
A fájlok az index.php meletti csatol könyvtárban vannak.
A letöltés megindul le is tölti a fájlt azon a néven, de a fájl tartalma doc esetén az oldal tartalma.
Van .htacces-em:
Ez van benne:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?termek=$1 [QSA,L]
Válaszokat köszönöm.
■ Van egy ilyen kódom:
header('content-type:application/force-download');
header('content-disposition:attachment;filename="'.$_GET['mit'].'"');
readfile("csatol/".$_GET['mit']);
A begetelt mit az pl így néz ki: valami.jpg
A letöltendő fájl bármi lehet.
A fájlok az index.php meletti csatol könyvtárban vannak.
A letöltés megindul le is tölti a fájlt azon a néven, de a fájl tartalma doc esetén az oldal tartalma.
Van .htacces-em:
Ez van benne:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?termek=$1 [QSA,L]
Válaszokat köszönöm.
Ez nekem valamilyen elnyelt
php_value html_errors On
#Minden hibajelzés
php_value error_reporting 8191
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value register_globals 0
php_value session.auto_start 0
Az első 4 sor a hibaüzenetek kimenetre jutásáért fontos, az utolsó 4 pedig biztonsági okokból: a megic_quotes okozhat problémát az elmebetegebb fájlneveknél, a register_globals csak a biztonság kedvéért legyen kizárva, a session automatikus indítása pedig belebarmolhat a readfile() kimenetébe egy warninggal esetleg, bár erre így mérget most nem vennék.
Ami még tanácsos lehet: readfile előtt ob_clean() és flush() hívása, meg talán egy "Content-Size" header-t is adnék a többi meglévő után hogy a böngésző (meg a felhasználó) is tudja, mekkora a letöltésre jelölt fájl.
Látatlanban több ötletem nincs. Ha megvan a htaccess módosítás, csinálj egy letöltést, szerintem egy E_NOTICE vagy E_WARNING szintű hibaüzenet sanszos a letöltött fájlban.
Biztonság
mit
-nek megadom azt, hogyindex.php
, akkor letölti az index.php forrását.Valamint jó lenne a fájl nevét mime kódolni kellene, ha tartalmaz nem ASCII karaktereket illetve nem nyomtatható karaktereket.
Egészpontosan ha