zabezpečení souboru ve složce app
- Petr20
- Člen | 1
Dobrý den,
chtěl bych se zeptat jak řešíte situaci kdy potřebujete někomu dat ftp
přistup jen do složky /www jak pak zabezpečit, aby nemohl nahrát php soubor
obsahující něco takového
$file = "../app/config/config.local.neon";
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
je možné nějak zabezpečit app složku proti funkci readfile() nebo jak se tohle řeší ? Děkuji za odpověď
- enumag
- Člen | 2118
Pokud nepotřebuješ aby dotyčný mohl nahrávat i spustitelné PHP soubory a pokud by ses spokojil s podsložkou složky www tak to lze vyřešit přes .htaccess. Ten FTP přístup by byl jen na tu podsložku a spustitelné soubory by v této podsložce nefungovaly. KCFinder pro tento účel používá tento .htaccess. Jen pozor aby uživatel nemohl přes to FTP upravit či smazat tento soubor, nejspíše tedy budeš potřebovat dvě úrovně složek.
Lepší řešení neznám, readfile není zdaleka jediná věc v PHP kterou by v tomto případě šlo zneužít.
Editoval enumag (21. 7. 2015 0:30)
- llook
- Člen | 407
Složka www
jsou jen statické soubory a index.php
,
ne? Tak bych index.php
přesunul jinam, rewrite přesměroval na
nové umístění a v té složce vypnul zpracování PHP.
Nebo to, co píše @enumag, pokud ti stačí podsložky, tím se to
dost zjednoduší, protože to půjde udělat přes .htaccess
.