Lahendatud: html-filtri faili üleslaadimine

HTML-filtrifailide üleslaadimisega seotud peamine probleem on see, et sellest saab hõlpsasti mööda minna. HTML-filtrid on loodud teatud tüüpi failide üleslaadimise blokeerimiseks, kuid neist saab mööda minna, muutes faililaiendit või kasutades faili päise redigeerimiseks tööriista. See tähendab, et pahatahtlikke faile saab siiski üles laadida, mis võib põhjustada turvaauke ja andmetega seotud rikkumisi. Lisaks ei suuda HTML-filtrid tuvastada failis olevat pahatahtlikku koodi, nii et isegi kui pahatahtliku faili üleslaadimine on blokeeritud, võib see siiski sisaldada pahatahtlikku koodi, mida saab serveris käivitada.

<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. See rida loob HTML-vormingu, mille toimingu atribuudiks on seatud “upload.php” ja meetodi atribuudiks “post”, ning atribuudi enctype väärtuseks “multipart/form-data”:

2. See rida loob failitüüpi sisendelemendi nimega “fileToUpload” ja ID-ga “fileToUpload” ning määrab aktsepteerimise atribuudiks “.html”.

3. See rida loob sisendelemendi tüübiga submit, väärtusega „Laadi üles HTML-fail” ja nimega „submit”.

4. See rida sulgeb vormi:

Failide tähtsuse filtreerimine ja kinnitamine

Failide tähtsuse filtreerimine ja kinnitamine HTML-is on protsess, mis tagab, et veebilehele laaditakse üles ainult vajalikud failid. Seda saab teha, seadistades reeglid ja parameetrid üleslaaditavate failitüüpide jaoks, nagu faili suurus, tüüp või laiend. Lisaks saab HTML-vorme kasutada kasutaja sisendi kinnitamiseks enne selle serverisse esitamist. See aitab tagada, et aktsepteeritakse ainult kehtivaid andmeid, ja takistab pahatahtliku koodi käivitamist serveris. Lõpuks on oluline failide üleslaadimiseks kasutada turvalisi meetodeid, näiteks HTTPS-i või SFTP-protokolle FTP asemel.

Kuidas piirata failitüüpe HTML-is

HTML-standard ei paku võimalust failitüüpide piiramiseks, kui kasutate a element. Siiski saate JavaScripti kasutada failitüübi kontrollimiseks enne selle üleslaadimist.

Selleks saate kasutada FileReaderi API-t, et lugeda faili sisu ja seejärel kontrollida selle tüüpi. Kui see ei kuulu lubatud tüüpide hulka, saate selle üleslaadimist takistada, kutsudes teie muudatuste töötlejasse edastatud sündmuseobjektil käsu preventDefault().

Samuti saate oma peal kasutada HTML5 aktsepteerimise atribuuti element, et määrata, millist tüüpi failid on lubatud. Kui kasutaja proovib üles laadida faili, mis ei ole üheski aktsepteeritud vormingus, kuvatakse see brauserispetsiifiline dialoogiboks.

Seonduvad postitused:

Jäta kommentaar