Wat is en hoe we de toegang van een gebruikersagent (BOT of browser) blokkeren op een website [nginx tips]
Wat is en hoe we de toegang van een gebruikersagent (BOT of browser) blokkeren op een website [nginx tips]
Laten we eerst in grote lijnen kijken wat deze user-agent van een internetbrowser is en waarvoor deze wordt gebruikt.
inhoud
Wat is User Agent (of User-Agent)?
Alle internetbrowsers (Internet Explorer, Safari, Opera, Firefox, Chrome, etc.) beschikken over een agentsoftware die interageert met de website die u bezoekt, op hostserverniveau. Deze software maakt de internetverbinding met de website, begrijpt, controleert en geeft de inhoud van de opgeroepen pagina weer. Kortom, het zorgt voor de interactie tussen de gebruiker en de hostserver die de gebruiker de gevraagde webpagina's bedient door toegang te krijgen tot een specifieke URL op het HTTP / HTTPS-protocol.
De User Agent bevat in de header die wordt afgeleverd bij de server waartoe hij toegang heeft, informatie met betrekking tot de door de gebruiker gebruikte software, het besturingssysteem en de versie van het browsersoftwarepakket. De user-agent voor Google Chrome retourneert bijvoorbeeld informatie over de gebruikte versie van Google Chrome en het besturingssysteem van de gebruiker naar de server.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3163.100 Safari/537.36
De user-agent header hierboven betekent dat een versie van Google Chrome70 op een computer met processor AMD, 64-bits architectuur met besturingssysteem Windows 10.
Je zult het jezelf waarschijnlijk afvragen waarom Mozilla verschijnt als user-agent voor Chrome. Dit is een soort truc die door Google (en door Microsoft in IE) wordt gebruikt om de toegang van Chrome-gebruikers tot alle sites die compatibel zijn met Mozilla en Safari te vergemakkelijken. AppleWebKit is de inhoudweergave-engine.
Webmasters of webserverbeheerders kunnen dat wel de toegang van bepaalde user agents blokkeren op gehoste websites. Meestal wordt deze beperking opgelegd web-robots ((webbots) die chaotisch of overmatig de webpagina's van een website bezoeken. Gelukkig hebben deze bots een specifieke user-agent en kunnen ze heel gemakkelijk worden gedetecteerd in de webserverlogboeken.
Hoe de toegang van een user-agent tot een webserver met NGINX te blokkeren
Laten we het scenario nemen waarin we de toegang tot de website niet langer willen toestaan aan gebruikers met het besturingssysteem Windows XP en de internetbrowser Mozilla Firefox 5.0.
We voegen de onderstaande code toe aan het nginx-configuratiebestand, to “server” blok:
if ($http_user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"){
return 403;
}
Sla het nginx.conf-bestand op of het bestand dat specifiek is voor een website, als u een aangepaste configuratie gebruikt (gen sites beschikbaar), dan start de NGINX-service opnieuw.
Alle gebruikers met Firefox 5.0 (inclusief alle versies tot 5.9) op Windows XP worden doorgestuurd naar fout 403 (Verboden).
Ik heb dit voorbeeld niet toevallig gekozen. Vanaf Firefox 52.9.0 stopte Mozilla de ondersteuning voor gebruikers van Windows XP en Windows Vista. Besturingssystemen waarvan de ondersteuning door Microsoft in 2014 respectievelijk 2017 voor Windows Vista werd stopgezet.
Wat is en hoe we de toegang van een gebruikersagent (BOT of browser) blokkeren op een website [nginx tips]
Wat is nieuw
Over Stealth
Gepassioneerd door technologie schrijf ik met plezier op StealthSettings.com sinds 2006. Ik heb veel ervaring met besturingssystemen: macOS, Windows en Linux, maar ook met programmeertalen en bloggingplatforms (WordPress) en voor webshops (WooCommerce, Magento, PrestaShop).
Bekijk alle berichten van StealthMogelijk bent u ook geïnteresseerd in...