Block web Crawlers
det enda jag ofta har märkt är att medan ett No Entry-tecken oftast räcker för att förhindra att människor bryter mot ett begränsat område är det inte en helt idiotsäker plan. Det kommer alltid att finnas några människor som kommer att ha fullständig ignorering för detta tecken och kommer att våga sig in i det begränsade området. Använda robotarna.txt-fil för att inte tillåta sökrobotar från en viss webbplats är liknande. Medan instruktionerna i robotarna.txt-fil tillåter inte sökrobotar, spindlar och bots från att genomsöka din webbplats, det ställer inte in någon form av mandat. Det finns en möjlighet att vissa spindlar fortfarande kommer att krypa din sida. Därför finns det ett behov av att blockera sökrobotar.
i en tidigare artikel skrev vi om hur man tillåter sökrobotar, spindlar och Bots från webbplatser. Även om denna metod är effektiv verkar det helt klart inte vara tillräckligt. För att lösa detta problem som uppstår måste vi därför komma med ett arbete och jag kommer att ge dig just det. Nu, istället för att bara tillåta sökrobotarna med instruktioner i robotarna.txt-fil Vi kommer att blockera sökrobotar.
metoden nedan för att blockera sökrobotar har testats på Apache 2.4.7 (installerad på Ubuntu). Jag förväntar mig att det ska fungera med Apache 2.4.x.om du inte har möjlighet att genomföra de metoder som anges nedan på din Apache, sedan skriva till mig i kommentarerna. Ange information om din Apache-version och serveroperativsystem. Om du ska ge någon känslig information, då kan du skriva till mig på [email protected].
HTTP Basic Authentication för att blockera sökrobotar
den första metoden jag ska visa för att blockera sökrobotar använder HTTP Basic Authentication. Ibland kanske du har stött på autentiseringsrutan när du försöker komma åt några webbplatser som bilden nedan.
autentisering Pop-up för webbplats
rutan ovan visas när HTTP-autentisering implementeras. För att genomföra detta måste du redigera virtualhost konfigurationsfil för din domän.
skapa en lösenordsfil
första steget är att skapa lösenordsfil som innehåller användarnamn och lösenord. Anslut till din server med SSH och kör under kommandot
htpasswd-c <path_of_the_password_file> <användarnamn>
ersätt < path_of_the_password_file> med den plats där du vill skapa en fil som lagrar användarnamn och lösenordskombination i krypterat format. För förklaringens skull, låt oss anta att du anger en sökväg /hem/tahseen/skrivbord. Ersätt <användarnamn> med användarnamn du vill ha. För demonstrationsändamål kommer jag att skapa ett användarnamn wisdmlabs. Så nu ska ditt kommando se ut som nedan.
htpasswd-c / hem / Tahseen / skrivbord / lösenord wisdmlabs
när du har ersatt lösenordsfilens plats och användarnamn i ovanstående kommando trycker du på enter. Det ber dig om lösenordet för användarnamnet du vill lägga till. Ge det ett lösenord och tryck på enter. Efter att ha lagt till användarnamn i filen kommer det att visa ett meddelande som lägger till lösenord för användaren <användarnamn>, där < användarnamn> kommer att vara användarnamn du ville lägga till. Bilden nedan hjälper dig att tydligt förstå vad jag säger.
skapa lösenordsfil
notera: i ovanstående kommando har vi passerat-C-alternativet, så att det skapar en fil. Om du redan har en fil där det ska spara användarnamn-lösenord kombination, då behöver du inte ange-C parameter.
redigera konfigurationsfil
hittills har vi skapat användarnamn och lösenord. Nu är det dags att lägga till denna information i webbplatskonfigurationen. Detta steg hjälper oss att blockera sökrobotar från vår webbplats. Låt oss säga att du försöker implementera detta för abc.com. Virtualhost-konfiguration för den domänen kommer att finnas i katalogen /etc/apache2/sites-tillgänglig katalog. Jag antar att konfigurationsfilen för abc.com är abc. com. conf.öppna den konfigurationsfilen för redigering med kommandot nedan.
sudo nano / etc / apache2 / webbplatser-tillgängliga / abc. com. conf
Lägg till nedan innehåll i slutet av VirtualHost-blocket i konfigurationsfilen.
<katalog /> #tillåter interna IP-adresser att komma åt webbplatser direkt. Om du inte har interna IP-adresser, utelämna nedan rad kräver ip 192.168.2.1 /24 # ersätt/var/.lösenord med den sökväg du angav för htpasswd-kommandot AuthType Basic AuthUserFile / var/.lösenord AuthName" autentisering krävs " Kräv giltig-användaren uppfyller alla< / katalog>
efter att ha lagt till ovanstående innehåll, spara filen och ladda om Apache genom att skjuta kommandot nedan.
sudo service apache2 ladda om
du är klar! Försök nu att besöka webbplatsen, det borde fråga dig användarnamn och lösenord (om du inte besöker från internt nätverk). Om denna autentisering dyker upp då ditt försök att blockera sökrobotar har fungerat!
svara med 403 för att blockera sökrobotar
den andra metoden för att blockera sökrobotar är att svara med 403 på sökrobotar. I den här metoden kommer vi att försöka upptäcka användaragenter för sökrobotar och blockera dem. Nackdelen med denna metod är, om useragent ändras, kan crawler krypa innehållet.
du kan lägga till innehållet nedan i .htaccess-fil för att blockera sökrobotar. Om det inte fungerar efter att ha lagt in i .htaccess-fil, då måste du göra ändringar i virtualhost-konfigurationsfilen för motsvarande domän som vi gjorde i tidigare metod.
<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).* $ RewriteRule .* - </IfModule>
om det fortfarande inte fungerar, se till att Omskrivningsmodulen är aktiverad. För att göra det, kör kommandot nedan.
apachectl-M
om det inte visar rewrite_module i utgången måste du aktivera det för att kunna blockera. Om du inte vet hur du aktiverar det hänvisar du till artikeln, aktivera Omskrivningsmodulen.
ovanstående två metoder bör vara betydande för att hjälpa dig att blockera sökrobotar från din webbplats. Men om du fortfarande har några svårigheter är du välkommen att komma i kontakt med mig genom kommentarfältet.
- WordPress Tips & Tricks
- med taggar: apache, blockera sökrobotar, HttpBasicAuthentication, iscensättning platser, webb spindlar
- Sumit P
Observera att några av länkarna i det här blogginlägget kan vara affiliate-länkar. Det betyder att om du fortsätter att köpa en produkt med en sådan länk får vi en liten provision (utan extra kostnad för dig). Detta hjälper oss att stödja bloggen och producera gratis innehåll. Vi rekommenderar endast produkter vi arbetar med eller älskar. Tack för ditt stöd!