Решено: отпремање датотеке хтмл филтера

Главни проблем у вези са отпремањем датотеке ХТМЛ филтера је тај што се може лако заобићи. ХТМЛ филтери су дизајнирани да блокирају отпремање одређених типова датотека, али се могу заобићи променом екстензије датотеке или коришћењем алата за уређивање заглавља датотеке. То значи да се и даље могу отпремати злонамерне датотеке, што потенцијално може довести до сигурносних пропуста и кршења података. Поред тога, ХТМЛ филтери не могу да открију злонамерни код унутар датотеке, па чак и ако је блокирано отпремање злонамерне датотеке, она и даље може да садржи злонамерни код који би могао да се изврши на серверу.

<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. Ова линија креира ХТМЛ образац са атрибутом акције постављеним на „уплоад.пхп” и атрибутом метода постављеним на „пост”, као и подешавањем атрибута енцтипе на „мултипарт/форм-дата”:

2. Ова линија креира улазни елемент типа филе, са именом „филеТоУплоад“ и ИД-ом „филеТоУплоад“, и поставља атрибут аццепт на „.хтмл“:

3. Ова линија креира елемент уноса типа субмит, са вредношћу „Уплоад ХТМЛ Филе“ и именом „субмит“:

4. Овај ред затвара образац:

Филтрирање и провера важности датотеке

Филтрирање и провера важности датотека у ХТМЛ-у је процес којим се осигурава да се на веб страницу отпремају само потребне датотеке. Ово се може урадити подешавањем правила и параметара за типове датотека које се могу отпремити, као што су величина, тип или екстензија датотеке. Поред тога, ХТМЛ обрасци се могу користити за валидацију корисничког уноса пре него што се преда серверу. Ово помаже да се осигура да се прихватају само валидни подаци и спречава извршавање злонамерног кода на серверу. Коначно, важно је користити безбедне методе за отпремање датотека као што је коришћење ХТТПС или СФТП протокола уместо ФТП-а.

Како да ограничим типове датотека у ХТМЛ-у

ХТМЛ стандард не пружа начин за ограничавање типова датотека када се користи елемент. Међутим, можете користити ЈаваСцрипт да бисте проверили тип датотеке пре него што се она отпреми.

Да бисте то урадили, можете користити ФилеРеадер АПИ да прочитате садржај датотеке, а затим проверите њен тип. Ако није један од дозвољених типова, можете спречити његово отпремање позивањем превентДефаулт() на објекту догађаја који је прослеђен у ваш руковалац променама.

Такође можете да користите ХТМЛ5-ов атрибут аццепт на свом елемент да одредите које врсте датотека су дозвољене. Ово ће узроковати да се дијалошки оквир за прегледач појави када корисник покуша да отпреми датотеку која није у једном од прихваћених формата.

Релатед постс:

Оставите коментар