Блокиране на изтегляне на файлове чрез разширение
Здравей Habr! Има много хардуер и софтуер, които могат да филтрират трафика. В моя случай това е Mikrotik RB3011UiAS-RM. Задачата беше следната: да се забрани изтеглянето на определени файлови формати.
И там виждаме, че за да работи Layer7, трябва да попълните регулярен израз, с който ще работи рутерът. Има също бележка относно използването на POSIX-съвместими регулярни изрази.

Една от първите опции за регулярен израз:
Не работи! Не всички изтегляния са блокирани, понякога са блокирани сайтове, в чието име или в низа на заявката има разширение.
След това бяха проверени много сайтове от първите три страници на издаването на Google. И стигнах до извода - трябва да изберете regexp.
И отново Google и търсене. В резултат на това попаднах на прекрасни сайтове:
Първият показва какви заявки отиват за изтегляне на файла. Втората от тази заявка за регулярен израз създава съвпадения.
В резултат на това измислих следния вариант:
- GET- началото на реда, в който се иска нещо на сайта example.com
- .*- произволен брой знаци
- (\.exe\.bat\.reg\.cmd\.scr\.vbs\.vbs\.ws\.wsf\.wsc\.apk)— списък на това, което търсим
- .*- произволен брой знаци
- [^a-zA-Z0-9]— знаци^=НЕ, включени в набораa-z, A-Z, 0-9
- .*HTTP.*\nе HTTP рамкиран от всякакви знаци (HTTP.*не е задължителен), а\nе нов ред
- Свържете се към 72.52.91.14 на порт 80. добре GET /manual/ru/function.exec.phpHTTP/1.1 Хост: php.net
- Свържете се към 72.52.91.14 на порт 80. Добре GET /manual/ru/function.exe.phpHTTP/1.1 Хост: php.net
Да, редътGETкъдето.extension.ще бъде премахнат. Но в моя случай това е достатъчно. Потребителите не се оплакаха. И вие можете да допълвате тези правила както искате.
След това, за да работи всичко както трябва, създаваме правила за защитната стена:upd:- вместо DROP, посочете REJECT-TCP RESET.В този случай браузърът получава отговор „Нулиране на връзката“. Позволява ви незабавно да откажете да заредите страницата или рамката, върху която е работило правилото, което от своя страна ще ускори зареждането. (Благодаря за съвета AcidVenom)
Проверка на набора регулярни изрази Layer7:
Можете да помогнете и да прехвърлите средства за развитието на сайта