Hoe te Crawlers blokkeren, spinnen en Bots van Websites

webcrawlers

webcrawlers

blokkeren het enige wat ik vaak heb opgemerkt is dat hoewel een “geen Toegangsbord” meestal voldoende is om te voorkomen dat mensen een verboden gebied betreden, het geen absoluut onfeilbaar plan is. Er zullen altijd mensen zijn die dit bord volledig negeren en zich wagen in het verboden gebied. Met behulp van de robots.txt-bestand te verbieden crawlers van een bepaalde website is vergelijkbaar. Terwijl de instructies in de robots.txt-bestand zal niet toestaan crawlers, spiders en bots van het crawlen van uw website het niet enige vorm van een mandaat in te stellen. Er is een mogelijkheid dat sommige spinnen nog steeds uw pagina zullen crawlen. Daarom is er een noodzaak om crawlers te blokkeren.

in een eerder artikel schreven we over het verbieden van Crawlers, Spiders en Bots van Websites. Hoewel deze methode efficiënt is, lijkt het duidelijk niet voldoende. Om dit probleem op te lossen zullen we dus een oplossing moeten vinden en dat zal ik u ook geven. Nu, in plaats van de crawlers te verbieden met instructies in de robots.txt file we gaan crawlers blokkeren.

de onderstaande methode om crawlers te blokkeren is geprobeerd met Apache 2.4.7 (geïnstalleerd op Ubuntu). Ik verwacht dat het zou moeten werken met Apache 2.4.x. als je niet in staat bent om de onderstaande methoden op je Apache te implementeren, schrijf me dan in de commentaren sectie. Geef informatie over uw Apache versie en Server besturingssysteem. Als u gaat om gevoelige informatie te verstrekken, dan kunt u mij schrijven op [email protected].

HTTP Basic Authentication to Block Crawlers

de eerste methode die ik ga demonstreren om crawlers te blokkeren is het gebruik van HTTP Basic Authentication. Soms heb je misschien over de authenticatie box gekomen wanneer u probeert om toegang te krijgen tot een paar websites zoals de afbeelding hieronder gegeven.

Http-Authentication-block-crawlers

pop-up voor authenticatie voor Website

het bovenstaande vak wordt weergegeven wanneer HTTP-authenticatie is geïmplementeerd. Om dit te implementeren moet je virtualhost configuratiebestand van je domein bewerken.

Maak een wachtwoordbestand aan

de eerste stap is het aanmaken van een wachtwoordbestand met gebruikersnaam en wachtwoord. Verbind met uw server met SSH en voer onderstaande opdracht uit

htpasswd-c <path_of_the_password_file> <gebruikersnaam>

vervang <path_of_the_password_file> door de locatie waar u een bestand wilt aanmaken dat de combinatie van gebruikersnaam en wachtwoord in versleuteld formaat opslaat. Ter verduidelijking, laten we aannemen dat je een pad /home/tahseen/Desktop opgeeft. Vervang <gebruikersnaam> door de gewenste gebruikersnaam. Voor demonstratie doeleinden ga ik een gebruikersnaam wisdmlabs maken. Dus nu zou je commando er ongeveer zo uit moeten zien als hieronder.

htpasswd-c / home / tahseen / Desktop / password wisdmlabs

na het vervangen van wachtwoordbestand locatie en gebruikersnaam in bovenstaande opdracht, druk op enter. Het zou u vragen om het wachtwoord van de gebruikersnaam die u wilt toevoegen. Geef het een wachtwoord en druk op enter. Na het toevoegen van gebruikersnaam aan het bestand, zal het een bericht tonen dat wachtwoord toevoegt voor gebruiker <gebruikersnaam>, waarbij <gebruikersnaam> gebruikersnaam zal zijn die u wilde toevoegen. De afbeelding hieronder zal u helpen duidelijk te begrijpen wat ik zeg.

create-password-file-block-crawlers

Create Password File

opmerking: in het bovenstaande commando hebben we de optie-c doorgegeven, zodat er een bestand wordt aangemaakt. Als je al een bestand hebt waar het Gebruikersnaam-Wachtwoord combinatie moet opslaan, dan hoef je geen-c parameter op te geven.

configuratiebestand bewerken

tot nu toe hebben we gebruikersnaam en wachtwoord aangemaakt. Nu is het tijd om deze informatie toe te voegen aan de site configuratie. Deze stap zal ons helpen crawlers te blokkeren van onze website. Laten we zeggen, je probeert om dit uit te voeren voor abc.com. Virtualhost configuratie voor dat domein zal in de map /etc/apache2/sites-available directory staan. Ik neem aan dat het configuratiebestand voor abc.com is abc. com. conf. Open dat configuratiebestand voor het bewerken met behulp van het onderstaande commando.

sudo nano/etc/apache2 / sites-available / abc. com. conf

voeg onderstaande inhoud toe aan het einde van VirtualHost blok van het configuratiebestand.

 <Directory / > # waardoor interne IP ' s rechtstreeks toegang hebben tot websites. Als je geen interne IP ' s hebt, laat dan onder de regel ip 192.168.2.1/24 # Replace /var/weg.wachtwoord met het bestandspad dat u hebt opgegeven voor het htpasswd Commando AuthType Basic AuthUserFile / var/.wachtwoord AuthName "Authentication Required" vereist geldig-gebruiker voldoet aan elke< / map>

na het toevoegen van bovenstaande inhoud, sla het bestand op en herlaad Apache door het afvuren commando hieronder.

sudo service apache2 herladen

je bent klaar! Probeer nu om de website te bezoeken, het moet u vragen gebruikersnaam en wachtwoord (als u niet een bezoek van het interne netwerk). Als deze authenticatie pop-up verschijnt dan is uw poging om crawlers te blokkeren heeft gewerkt!

reageren met 403 om Crawlers te blokkeren

de tweede methode om crawlers te blokkeren is om met 403 te reageren op crawlers. In deze methode, wat we zullen doen is, we zullen proberen om de gebruiker-agenten van crawlers te detecteren en te blokkeren. Nadeel van deze methode is, als useragent is gewijzigd, crawler kan de inhoud kruipen.

u kunt de onderstaande inhoud toevoegen .htaccess-bestand om crawlers te blokkeren. Als het niet werkt na het toevoegen aan de .htaccess bestand, dan moet u bewerkingen in de virtualhost configuratie bestand van overeenkomstige domein zoals we deden in eerdere methode.

<IfModule mod_rewrite.c>RewriteEngine Onrewriteconde %{HTTP_USER_AGENT} ^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).* $ RewriteRule .* - < / IfModule>

als het nog steeds niet werkt, zorg er dan voor dat Rewrite module is ingeschakeld. Om dat te doen, voer commando hieronder.

apachectl-M

als rewrite_module niet wordt weergegeven in de uitvoer, dan moet u het inschakelen om te kunnen blokkeren. Als je niet weet hoe je het moet inschakelen, refereer dan naar het artikel, Enable Rewrite Module.

de bovenstaande twee methoden moeten substantieel zijn om u te helpen crawlers van uw website te blokkeren. Als u echter nog steeds problemen ondervindt, neem dan gerust contact met mij op via de opmerkingen.

  • WordPress Tips & trucs
  • met tags: apache, Block Crawlers, HttpBasicAuthentication, Staging Sites, web Spiders
delen:

  • Sumit P

houd er rekening mee dat sommige van de links in deze blogpost affiliate links kunnen zijn. Dit betekent dat als u een product koopt via een dergelijke link, wij een kleine commissie ontvangen (zonder extra kosten voor u). Dit helpt ons de blog te ondersteunen en gratis content te produceren. We raden alleen producten aan waar we mee werken of waar we van houden. Dank u voor uw steun!

Write a Comment

Het e-mailadres wordt niet gepubliceerd.