Nezabezpečený upload je vcelku častou chybou amatérských webů. Stačí použít Google dotaz upload inurl:upload.php a trochu pohledat. Někteří webmasteři si na svůj web umístí upload pro pohodlnější přidávání souborů na web. Na jeho zabezpečí již však často zapomínají. Mnoho nezabezpečených uploadů slouží pro nahrávání fotek a obrázků na server. Autor však již často zapomene určit povolené typy souborů. Vysvětleme si tedy, co to vlastně nezabezpečený upload je a jak jej zabezpečit. Nezabezpečeným uploadem chápeme upload, přes který můžeme na server nahrávat libovolné typy souborů, tedy i (mimo jiné) PHP skripty. Potom tedy není problém si pomocí nich vypsat seznam souborů a prohlížet si jejich zdrojové kódy, které mohou obsahovat například hesla k databázi. Soubory můžeme i editovat, takže máme nad daným webem úplnou kontrolu a stačil nám k tomu pouze Google a základní znalost jazyka PHP.
Upravit uploadovací formulář tak, aby přijímal pouze bezpečné typy souborů, je jednoduché. Stačí do skriptu sloužícího pro upload vhodně zakomponovat tyto tři řádky:
$mime_typy = 'image/gif|image/jpeg|image/pjpeg|image/png|text/plain';
if(!in_array($_FILES['soubor']['typ'], $mime_typy))
echo '<p>CHYBA ! Tento soubor je nepovoleného formátu.</p>';
Tento kousek zdrojového kódu většinou znamená kritický rozdíl mezi zabezpečeným a nezabezpečeným uploadem. V proměnné $mime_typy jsou vypsány povolené MIME typy souborů, se kterými je porovnáván MIME typ námi uploadovaného souboru. Pokud se MIME type neshoduje s ani jednou z možností, znamená to, že je nepovoleného formátu. Uživatel bude upozorněn a k uploadu nedojde. Pro více informací ohladně uploadování souborů pomocí PHP skriptu si přečtěte tento článek z oficiálního manuálu PHP.
Související příspěvky
- Svůdná Praha a zdejší dámské priváty - 26.08.2022
- Jsou senzuální masáže bezpečné? - 09.08.2022
- Lákají vás holky na sex? V Praze seženete lehké děvy i společnice - 24.06.2022