Webcrawler blockieren
Das einzige, was mir oft aufgefallen ist, ist, dass ein No-Entry-Zeichen zwar meistens ausreicht, um zu verhindern, dass Personen einen Sperrbereich betreten, aber kein absolut narrensicherer Plan ist. Es wird immer einige Leute geben, die dieses Zeichen völlig missachten und sich in das Sperrgebiet wagen. Mit den Robotern.txt-Datei Crawler von einer bestimmten Website zu verbieten ist ähnlich. Während die Anweisungen in den Robotern.die TXT-Datei verbietet Crawlern, Spidern und Bots das Crawlen Ihrer Website. Es besteht die Möglichkeit, dass einige Spinnen Ihre Seite immer noch crawlen. Daher besteht die Notwendigkeit, Crawler zu blockieren.
In einem früheren Artikel haben wir darüber geschrieben, wie Crawler, Spiders und Bots von Websites ausgeschlossen werden können. Obwohl diese Methode effizient ist, scheint sie eindeutig nicht ausreichend zu sein. Um dieses Problem zu lösen, müssen wir daher eine Problemumgehung finden, und ich werde Ihnen genau das zur Verfügung stellen. Jetzt, anstatt nur die Crawler mit Anweisungen in den Robotern zu verbieten.txt-Datei Wir werden Crawler blockieren.
Die unten angegebene Methode zum Blockieren von Crawlern wurde unter Apache 2.4.7 (installiert unter Ubuntu) ausprobiert. Ich erwarte, dass es mit Apache 2.4 funktionieren sollte.x. Wenn Sie die unten angegebenen Methoden in Ihrem Apache nicht implementieren können, schreiben Sie mir im Kommentarbereich. Bitte geben Sie Informationen zu Ihrer Apache-Version und Ihrem Serverbetriebssystem an. Wenn Sie sensible Informationen angeben, können Sie mir unter schreiben [email protected].
HTTP-Basisauthentifizierung zum Blockieren von Crawlern
Die erste Methode, die ich zum Blockieren von Crawlern demonstrieren werde, ist die Verwendung der HTTP-Basisauthentifizierung. Manchmal sind Sie möglicherweise auf das Authentifizierungsfeld gestoßen, wenn Sie versuchen, auf einige Websites wie das unten angegebene Bild zuzugreifen.
Authentifizierungs-Popup für Website
Das obige Feld wird angezeigt, wenn die HTTP-Authentifizierung implementiert ist. Um dies zu implementieren, müssen Sie die Virtualhost-Konfigurationsdatei Ihrer Domain bearbeiten.
Erstellen Sie eine Passwortdatei
Der erste Schritt besteht darin, eine Passwortdatei mit Benutzername und Passwort zu erstellen. Stellen Sie über SSH eine Verbindung zu Ihrem Server her und führen Sie den folgenden Befehl aus
htpasswd -c <path_of_the_password_file> <Benutzername>
Ersetzen Sie <path_of_the_password_file> durch den Speicherort, an dem Sie eine Datei erstellen möchten, in der die Kombination aus Benutzername und Kennwort verschlüsselt gespeichert wird. Nehmen wir zur Erläuterung an, dass Sie einen Pfad /home/tahseen/Desktop angeben. Ersetzen Sie <Benutzername> durch den gewünschten Benutzernamen. Zu Demonstrationszwecken werde ich einen Benutzernamen wisdmlabs erstellen. Jetzt sollte Ihr Befehl ungefähr so aussehen.
htpasswd -c /Startseite/tahseen/Desktop/Passwort wisdmlabs
Nachdem Sie den Speicherort der Kennwortdatei und den Benutzernamen im obigen Befehl ersetzt haben, drücken Sie die Eingabetaste. Es würde Sie nach dem Passwort des Benutzernamens fragen, den Sie hinzufügen möchten. Geben Sie ein Passwort ein und drücken Sie die Eingabetaste. Nach dem Hinzufügen des Benutzernamens zur Datei wird eine Meldung angezeigt, in der das Kennwort für den Benutzer < Benutzername> hinzugefügt wird, wobei <Benutzername> der Benutzername ist, den Sie hinzufügen möchten. Das Bild unten wird Ihnen helfen, klar zu verstehen, was ich sage.
Create Password File
Hinweis: Im obigen Befehl haben wir die Option -c übergeben, damit eine Datei erstellt wird. Wenn Sie bereits eine Datei haben, in der die Kombination Benutzername-Passwort gespeichert werden soll, müssen Sie den Parameter -c nicht angeben.
Konfigurationsdatei bearbeiten
Bis jetzt haben wir Benutzername und Passwort erstellt. Jetzt ist es an der Zeit, diese Informationen in der Site-Konfiguration hinzuzufügen. Dieser Schritt hilft uns, Crawler von unserer Website zu blockieren. Nehmen wir an, Sie versuchen dies zu implementieren für abc.com Die . Virtualhost-Konfiguration für diese Domain befindet sich im Verzeichnis /etc/apache2/sites-available . Ich gehe davon aus, dass die Konfigurationsdatei für abc.com öffnen Sie diese Konfigurationsdatei zur Bearbeitung mit dem folgenden Befehl.
sudo nano /etc/apache2/sites-verfügbar/abc.com.conf
Fügen Sie den folgenden Inhalt am Ende des VirtualHost-Blocks der Konfigurationsdatei hinzu.
<Verzeichnis /> #Internen IPs den direkten Zugriff auf Websites ermöglichen. Wenn Sie keine internen ips haben, lassen Sie die folgende Zeile Require ip 192.168.2.1/24 # Replace /var/ .passwort mit dem Dateipfad, den Sie für den htpasswd-Befehl AuthType / AuthUserFile /var/ angegeben haben.passwort AuthName "Authentifizierung erforderlich" require valid-user Satisfy Any</Directory>
Nachdem Sie den obigen Inhalt hinzugefügt haben, speichern Sie die Datei und laden Sie Apache neu, indem Sie den folgenden Befehl ausführen.
sudo Dienst apache2 neu laden
Du bist fertig! Versuchen Sie nun, die Website zu besuchen, es sollte Sie Benutzername und Passwort fragen (wenn Sie nicht aus dem internen Netzwerk besuchen). Wenn dieses Authentifizierungs-Popup angezeigt wird, hat Ihr Versuch, Crawler zu blockieren, funktioniert!
Antworten mit 403 zum Blockieren von Crawlern
Die zweite Methode zum Blockieren von Crawlern besteht darin, mit 403 auf Crawler zu antworten. Bei dieser Methode werden wir versuchen, Benutzeragenten von Crawlern zu erkennen und zu blockieren. Nachteil dieser Methode ist, wenn useragent geändert wird, Crawler kann den Inhalt crawlen.
Sie können den unten angegebenen Inhalt in hinzufügen .htaccess-Datei Crawler zu blockieren. Wenn es nach dem Hinzufügen in die nicht funktioniert .htaccess-Datei, dann müssen Sie Änderungen in der Virtualhost-Konfigurationsdatei der entsprechenden Domäne vornehmen, wie wir es bei früheren Methoden getan haben.
<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).*$ RewriteRule .* - </IFMODUL>
Wenn es immer noch nicht funktioniert, stellen Sie sicher, dass das Rewrite-Modul aktiviert ist. Führen Sie dazu den folgenden Befehl aus.
apachectl -M
Wenn rewrite_module in der Ausgabe nicht angezeigt wird, müssen Sie es aktivieren, um blockieren zu können. Wenn Sie nicht wissen, wie Sie es aktivieren, lesen Sie den Artikel Rewrite-Modul aktivieren.
Die beiden oben genannten Methoden sollten erheblich sein, um Crawler von Ihrer Website zu blockieren. Wenn Sie jedoch immer noch Schwierigkeiten haben, können Sie sich gerne über den Kommentarbereich mit mir in Verbindung setzen.
- WordPress Tipps & Tricks
- Mit Tags: apache, Block Crawler, HttpBasicAuthentication, Staging-Sites, Web-Spinnen
- Sumit P
Bitte beachten Sie, dass einige der Links in diesem Blogbeitrag Affiliate-Links sein können. Das heißt, wenn Sie ein Produkt über einen solchen Link kaufen, erhalten wir eine kleine Provision (ohne zusätzliche Kosten für Sie). Dies hilft uns, den Blog zu unterstützen und kostenlose Inhalte zu produzieren. Wir empfehlen nur Produkte, mit denen wir arbeiten oder die wir lieben. Vielen Dank für Ihre Unterstützung!