Ce este si cum blocam accesul unui User Agent (Bot sau Browser) pe un website [NGINX Tips]

Intai de toate, sa vedem in linii mari ce este acest user-agent al unui internet browser si la ce foloseste.

Ce este User Agent (sau User-Agent)?

Tot ce inseamna internet browser (Internet Explorer, Safari, Opera, Firefoc, Chrome, etc) au un software agent care interactioneaza cu website-ul pe care-l vizitati, la nivel de server gazda. Acest software face conexiunea internet cu website-ul, intelege, verifica si va reda continutul paginii accesate. Mai pe scurt, asigura interactiunea intre utilizator si serverul gazda care serveste utilizatorului paginile web solicitate prin accesarea unui URL specific pe protocol HTTP / HTTPS.
User Agent contine in header-ul livrat serverului pe care-l acceseaza, informatii legate de software-ul folosit de utilizator, sistemul de operare, versiunea pachetului software al browser. De exemplu, user-agent pentru Google Chrome va reda serverului informatii despre versiunea de Google Chrome folosita si sistemul de operare al utilizatorului.

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3163.100 Safari/537.36

Header-ul user-agent de mai sus inseamna ca se foloseste o versiune de Google Chrome 70 pe un calculator cu procesor AMD, arhitectura 64-biti cu sistem de operare Windows 10.
O sa va intrebati probabil de ce apare Mozilla ca user-agent pentru Chrome. Acesta este un fel de truc folosit de Google (si de Microsoft in IE) pentru a facilita accesul utilziatorilor de Chrome pe toate site-urile compatibile cu Mozilla si Safari. AppleWebKit este motorul de redare al continutului.

Webmasterii sau administratorii de servere web pot bloca accesul anumitor user agenti la webiste-urile gazduite. De cele mai multe ori, aceasta limitare se pune robotilor web (web bots) care acceseaza haotic sau excesiv paginile web ale unui website. Din fericire, acesti boti au user-agent specific si pot fi detectati foarte usor in log-urile serverelor web.

Cum blocam accesul unui user-agent pe un server web cu NGINX

Sa luam scenariul in care nu mai dorim sa permitem acecsul la website utilizatorilor cu sisteme de operare Windows XP si internet browser Mozilla Firefox 5.0.

Adaugam codul de mai jos fisieruld e configurare nginx, la “server” block:

if ($http_user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"){
return 403;
}

Salvati fisierul nginx.conf sau fisierul specific unui website, daca folositi configuratie personalizata (gen sites-available), apoi restartati serviciul NGINX.
Toti utilizatorii cu Firefox 5.0 (incluzand toate versiunile pana la 5.9) de pe Windows XP, vor fi redirectionati catre eroare 403 (Forbidden).

Nu am ales intamplator acest exemplu. Incepand cu Firefox 52.9.0, Mozilla a oprit suportul pentru utilizatorii de Windows XP si Windows Vista. Sisteme de operare al caror suport a fost oprit si de Microsoft in 2014, respectiv 2017 pentru Windows Vista.

Ce este si cum blocam accesul unui User Agent (Bot sau Browser) pe un website [NGINX Tips]

About the author

Stealth

Pasionat de tot ce inseamna gadget si IT, scriu cu placere pe stealthsettings.com din 2006 si imi place sa descopar alaturi de voi lucruri noi despre calculatoare si sistemele de operare macOS, Linux, Windows, iOS si Android.

Leave a Comment