Block web Crawlers
singurul lucru pe care l-am observat de multe ori este că, deși un semn de intrare nu este suficient pentru a împiedica oamenii să pătrundă într-o zonă restricționată, nu este un plan absolut infailibil. Vor exista întotdeauna unii oameni care vor avea o ignorare completă a acestui semn și se vor aventura în zona restricționată. Folosind roboții.fișierul txt pentru a interzice crawlerele de pe un anumit site web este similar. În timp ce instrucțiunile din roboți.fișierul txt va interzice crawlerele, păianjenii și roboții să acceseze cu crawlere site-ul dvs. web, nu stabilește niciun fel de mandat. Există posibilitatea ca unii păianjeni să vă târască în continuare pagina. Prin urmare, este nevoie să blocați crawlerele.
într-un articol anterior am scris despre cum să interzicem crawlerele, păianjenii și roboții de pe site-urile web. Deși această metodă este eficientă, în mod clar nu pare a fi suficientă. Prin urmare, pentru a rezolva această problemă care apare, va trebui să venim cu o lucrare în jur și vă voi oferi doar asta. Acum, în loc să interzică doar crawlerele cu instrucțiuni în roboți.fișier txt vom bloca crawlerele.
metoda de mai jos pentru a bloca crawlerele a fost încercată pe Apache 2.4.7 (instalat pe Ubuntu). Mă aștept că ar trebui să funcționeze cu Apache 2.4.x. dacă nu sunt în măsură să pună în aplicare metodele de mai jos pe Apache dvs., apoi scrie-mi în secțiunea de comentarii. Vă rugăm să oferiți informații despre versiunea Apache și sistemul de operare al serverului. Dacă aveți de gând să furnizeze orice informații sensibile, atunci puteți scrie la mine la [email protected].
autentificare HTTP de bază pentru a bloca crawlerele
prima metodă pe care o voi demonstra pentru a bloca crawlerele este utilizarea autentificării HTTP de bază. Uneori este posibil să fi întâlnit caseta de autentificare atunci când încercați să accesați câteva site-uri web, cum ar fi imaginea de mai jos.
autentificare Pop-up pentru site-ul
caseta de mai sus apare atunci când autentificarea HTTP este implementată. Pentru a implementa acest lucru, trebuie să editați fișierul de configurare virtualhost al domeniului dvs.
creați un fișier parolă
primul pas este de a crea fișier parolă care conține numele de utilizator și parola. Conectați-vă la serverul dvs. folosind SSH și executați mai jos comanda
htpasswd-c <path_of_the_password_file > <username>
înlocuiți< path_of_the_password_file > cu locația în care doriți să creați un fișier care stochează combinația de nume de utilizator și parolă în format criptat. Din motive de explicație, să presupunem că oferiți o cale /acasă/tahseen/Desktop. Înlocuiți < username > cu username-ul dorit. În scopuri demonstrative am de gând să creeze un nume de utilizator wisdmlabs. Deci, acum comanda dvs. ar trebui să arate ceva de genul de mai jos.
htpasswd-c / acasă / tahseen / Desktop / parola wisdmlabs
după înlocuirea locației fișierului de parolă și a numelui de utilizator în comanda de mai sus, apăsați enter. Vă va cere parola numelui de utilizator pe care doriți să îl adăugați. Furnizați-i o parolă și apăsați enter. După adăugarea numelui de utilizator în fișier, acesta va afișa un mesaj care adaugă parola pentru utilizator < nume de utilizator >, unde < nume de utilizator> va fi numele de utilizator pe care doriți să îl adăugați. Imaginea de mai jos vă va ajuta să înțelegeți clar ceea ce spun.
Create Password File
notă: în comanda de mai sus am trecut opțiunea-c, astfel încât să creeze un fișier. Dacă aveți deja un fișier în care ar trebui să salvați combinația nume utilizator-parolă, atunci nu este necesar să furnizați parametrul-C.
editați fișierul de configurare
până acum, am creat numele de utilizator și parola. Acum, este timpul să adăugați aceste informații în configurația site-ului. Acest pas ne va ajuta să blocăm crawlerele de pe site-ul nostru web. Să presupunem că încercați să implementați acest lucru pentru abc.com configurația. Virtualhost pentru acel domeniu va fi în directorul/etc/apache2 / sites-available directory. Presupun că fișierul de configurare pentru abc.com este abc.com. conf.deschideți fișierul de configurare pentru editare folosind comanda de mai jos.
sudo nano / etc / apache2 / sites-available / abc. com. conf
adăugați mai jos conținut în sfârșitul blocului VirtualHost al fișierului de configurare.
< Director / > #permițând IP-urilor interne să acceseze direct site-urile web. Dacă nu aveți IP-uri interne, atunci omiteți linia de mai jos necesită ip 192.168.2.1/24 # înlocuiți /var/.parola cu calea de fișier pe care ați furnizat-o pentru comanda htpasswd AuthType Basic AuthUserFile /var/.parola AuthName "autentificare necesară" necesită valid-utilizatorul satisface orice < /Director>
după adăugarea conținutului de mai sus, salvați fișierul și reîncărcați Apache trăgând comanda de mai jos.
sudo service apache2 reload
ai terminat! Acum încercați să vizitați site-ul web, ar trebui să vă ceară numele de utilizator și parola (dacă nu vizitați din rețeaua internă). Dacă apare acest pop-up de autentificare, atunci încercarea dvs. de a bloca crawlerele a funcționat!
răspunsul cu 403 pentru a bloca crawlerele
a doua metodă pentru a bloca crawlerele este de a răspunde cu 403 la crawlere. În această metodă, ceea ce vom face este să încercăm să detectăm agenții utilizator ai crawlerelor și să le blocăm. Dezavantajul acestei metode este, dacă useragent este schimbat, crawler poate accesa cu crawlere conținutul.
puteți adăuga conținutul de mai jos în .fișier htaccess pentru a bloca crawlerele. În cazul în care nu funcționează după adăugarea în .htaccess, atunci va trebui să faceți modificări în fișierul de configurare virtualhost al domeniului corespunzător, așa cum am făcut în metoda anterioară.
< IfModule mod_rewrite.c > RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} ^.*(googlebot|bingbot|yahoo|AhrefsBot|Baiduspider|Ezooms|MJ12bot|YandexBot|bot|agent|spider|crawler|extractor).* $ RewriteRule .* - < / IfModule>
dacă tot nu funcționează, asigurați-vă că modulul de rescriere este activat. Pentru a face acest lucru, executați comanda de mai jos.
apachectl-M
dacă nu afișează rewrite_module în ieșire, atunci va trebui să o activați pentru a putea bloca. Dacă nu știți cum să o activați, consultați articolul, activați modulul de rescriere.
cele două metode de mai sus ar trebui să fie substanțiale pentru a vă ajuta să blocați crawlerele de pe site-ul dvs. web. Cu toate acestea, dacă aveți în continuare dificultăți, atunci nu ezitați să luați legătura cu mine prin secțiunea de comentarii.
- WordPress sfaturi & trucuri
- cu tag-uri: apache, crawlere bloc, HttpBasicAuthentication, site-uri de așteptare, păianjeni Web
- Sumit P
vă rugăm să rețineți că unele dintre linkurile din această postare pe blog ar putea fi link-uri afiliate. Aceasta înseamnă că, dacă continuați să achiziționați un produs folosind un astfel de link, primim un mic comision (fără costuri suplimentare pentru dvs.). Acest lucru ne ajută să susținem blogul și să producem conținut gratuit. Vă recomandăm doar produse cu care lucrăm sau iubim. Vă mulțumim pentru sprijinul acordat!