Vyriešené: nahranie súboru html filtra

Hlavným problémom súvisiacim s nahrávaním súboru s filtrom HTML je, že ho možno ľahko obísť. Filtre HTML sú navrhnuté tak, aby blokovali odovzdávanie určitých typov súborov, ale možno ich obísť zmenou prípony súboru alebo použitím nástroja na úpravu hlavičky súboru. To znamená, že škodlivé súbory možno stále nahrávať, čo môže viesť k bezpečnostným chybám a narušeniu údajov. Filtre HTML navyše nedokážu odhaliť škodlivý kód v súbore, takže aj keď je nahranie škodlivého súboru zablokované, stále môže obsahovať škodlivý kód, ktorý by sa mohol spustiť na serveri.

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload" accept=".html">
    <input type="submit" value="Upload HTML File" name="submit">
</form>

1. Tento riadok vytvorí HTML formulár s atribútom action nastaveným na „upload.php“ a atribútom method nastaveným na „post“, ako aj nastavením atribútu enctype na „multipart/form-data“:

2. Tento riadok vytvorí vstupný prvok typu file s názvom „fileToUpload“ a ID „fileToUpload“ a nastaví atribút accept na „.html“:

3. Tento riadok vytvorí vstupný prvok typu odoslať s hodnotou „Nahrať súbor HTML“ a názvom „odoslať“:

4. Tento riadok uzatvára formulár:

Filtrovanie a overovanie dôležitosti súboru

Filtrovanie a overovanie dôležitosti súboru v HTML je proces, ktorý zabezpečuje, že na webovú stránku sa nahrajú iba potrebné súbory. Dá sa to dosiahnuť nastavením pravidiel a parametrov pre typy súborov, ktoré je možné nahrať, ako je veľkosť, typ alebo prípona súboru. Formuláre HTML možno navyše použiť na overenie používateľského vstupu pred jeho odoslaním na server. To pomáha zaistiť, že sú akceptované iba platné údaje a zabraňuje spusteniu škodlivého kódu na serveri. Nakoniec je dôležité používať bezpečné metódy na nahrávanie súborov, ako je použitie protokolov HTTPS alebo SFTP namiesto FTP.

Ako obmedzím typy súborov v HTML

Štandard HTML neposkytuje spôsob, ako obmedziť typy súborov pri použití prvok. Môžete však použiť JavaScript na kontrolu typu súboru pred jeho odovzdaním.

Ak to chcete urobiť, môžete použiť FileReader API na čítanie obsahu súboru a kontrolu jeho typu. Ak to nie je jeden z povolených typov, môžete zabrániť jeho odovzdaniu volaním preventDefault() na objekt udalosti odovzdaný do vášho obslužného programu zmien.

Môžete tiež použiť atribút Akceptovať HTML5 prvok na určenie, ktoré typy súborov sú povolené. To spôsobí, že sa zobrazí dialógové okno špecifické pre prehliadač, keď sa používateľ pokúsi nahrať súbor, ktorý nie je v jednom z akceptovaných formátov.

Súvisiace príspevky:

Pridať komentár