Rešeno: html filter fajl upload

Glavni problem vezan za upload fajla HTML filtera je taj što se može lako zaobići. HTML filteri su dizajnirani da blokiraju otpremanje određenih tipova datoteka, ali se mogu zaobići promjenom ekstenzije datoteke ili korištenjem alata za uređivanje zaglavlja datoteke. To znači da se zlonamjerni fajlovi i dalje mogu učitavati, što potencijalno može dovesti do sigurnosnih propusta i kršenja podataka. Osim toga, HTML filteri ne mogu otkriti zlonamjerni kod unutar datoteke, pa čak i ako je prijenos zlonamjerne datoteke blokiran, ona i dalje može sadržavati zlonamjerni kod koji bi se mogao izvršiti na serveru.

<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. Ova linija kreira HTML obrazac sa atributom akcije postavljenim na “upload.php” i atributom metode postavljenim na “post”, kao i postavljanjem atributa enctype na “multipart/form-data”:

2. Ova linija kreira ulazni element tipa file, s imenom “fileToUpload” i ID-om “fileToUpload”, i postavlja atribut accept na “.html”:

3. Ova linija kreira ulazni element tipa submit, sa vrijednošću “Upload HTML File” i imenom “submit”:

4. Ovaj red zatvara formu:

Filtriranje i provjera važnosti datoteke

Filtriranje i provjera važnosti datoteke u HTML-u je proces kojim se osigurava da se na web stranicu učitavaju samo potrebne datoteke. Ovo se može učiniti postavljanjem pravila i parametara za tipove datoteka koje se mogu učitati, kao što su veličina datoteke, tip ili ekstenzija. Dodatno, HTML obrasci se mogu koristiti za validaciju korisničkog unosa prije nego što se preda serveru. Ovo pomaže da se osigura da se prihvataju samo validni podaci i sprečava izvršavanje zlonamernog koda na serveru. Konačno, važno je koristiti sigurne metode za otpremanje datoteka kao što je korištenje HTTPS ili SFTP protokola umjesto FTP-a.

Kako da ograničim tipove datoteka u HTML-u

HTML standard ne pruža način za ograničavanje tipova datoteka kada se koristi element. Međutim, možete koristiti JavaScript za provjeru tipa datoteke prije nego što se učita.

Da biste to učinili, možete koristiti FileReader API da pročitate sadržaj datoteke, a zatim provjerite njen tip. Ako nije jedan od dozvoljenih tipova, možete spriječiti njegovo učitavanje pozivanjem preventDefault() na objektu događaja koji je proslijeđen vašem rukovatelju promjenama.

Također možete koristiti HTML5's accept atribut na svom element da odredite koje vrste datoteka su dozvoljene. Ovo će uzrokovati da se pojavi dijaloški okvir specifičnog za pretraživač kada korisnik pokuša da učita datoteku koja nije u jednom od prihvaćenih formata.

Slični postovi:

Ostavite komentar