Skocz do zawartości

Globalne blokowanie botów


blake

Rekomendowane odpowiedzi

Potrzebuję zablokować globalnie boty dla całego vpsa. Czytałem na blogu u Zgreda, ktoś nawet podał regułkę, ale po wrzuceniu jej do http.conf i restarcie apacza wywala mi wszystie strony - jakieś nieprawidłowe przekierowanie robi. Może ktoś z Was ma to zastosowane u siebie i mógłby napisać tą regułkę i info gdzie to wrzucić.

Blokowanie w htaccess jest trochę uciążliwe przy kilkuset domenach.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

Jak bym miał wiedzę to bym nie zadawał głupich pytań, niestety na administracji serwerami się nie znam i nie potrzebuję się znać.

Testować nie mam zamiaru, bo nie chce wyłożyć serwera.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

Blake. Chyba nie myślisz, że ktoś podzieli się z tobą wiedzą o blokowaniu botów za darmo. Wiedza kosztuje. Jeśli ty nie chcesz poświęcić czasu na jej zdobywanie i na testy, to zleć komuś kto się na tym zna.

Nie wiem na co teraz liczysz, wiesz o co Ci chodzi to dlaczego tego nie sprawdzisz, nikt tego na tacy nie poda.

Odnośnik do komentarza
Udostępnij na innych stronach

Już gdzieś kiedyś pisałem, że jak nie masz nic do powiedzenia to lepiej się nie odzywaj niż jak masz kogoś wprowadzać w błąd

wiedzą o blokowaniu botów

Rzeczywiście jest to bardzo tajemna wiedza magiczna. Opatentuj ją! Ale chwila, przecież ty nie wiesz jak to zrobić... szkoda słów.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

Tak samo tajemna jak to całe pozycjonowanie. Testy blake, testy.

Testować nie mam zamiaru, bo nie chce wyłożyć serwera.

Pomyśl, że wywalenie się serwera to taki rodzaj bana. Zgodnie ze starą maksymą, postaw 3 inne. Czy tam nawet 10.

Już gdzieś kiedyś pisałem, że jak nie masz nic do powiedzenia to lepiej się nie odzywaj

A to do mnie konkretnie kiedyś pisałeś, czy tak ogólnie?

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki M@k, sprawdzę to.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

Tak zrobiłem, ale nie na wszystko to działa... Na strony generowane przez symlinka nie za bardzo chce. Przy WP jest ok.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

Blokowanie po reverse ip i hoście wyłapie najwięcej agresywnego śmiecia.

Weź taki "amazonaws.com". Możesz blokować tysiące ich IP, możesz dać bana na hosta w httpd.conf, możesz blokować w robots.txt, a i tak tysiące śmiecia dalej może ci biegać po stronie.

To samo masz z takimi śmieciami jak sistrix, exabot, wordpress.com, ahrefs.com, buyurl i z różnymi hostami monitorującymi.

W php można sobie utworzyć tablicę niechcianych hostów (albo pociągnąć ją z bazy danych), tablica może wyglądać np.

$hosts = array(,'exabot','ltdomains.com','amazonaws','etc','etc');

Pobierasz ip:

$ip = ( isset($_SERVER['REMOTE_ADDR']) && long2ip(ip2long($_SERVER['REMOTE_ADDR'])) ) ? $_SERVER['REMOTE_ADDR'] : NULL;

Bierzesz poprawkę na Ip przykładową funkcją

$ip = clean_ip($ip);
function clean_ip($ip) {
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$real_ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
if(ereg('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$',$real_ip)) $ip = $real_ip;
}
return $ip;
}

Pobierasz hosta po IP:

$hostname = strtolower(gethostbyaddr($ip));

I teraz już możesz banować wg swojej listy niechcianych hostów, np.

foreach($hosts as $host) {
if(strstr($hostname,$host) ) {
 header("Location: https://www.przekieruj.com"); die();
}
}

Przekierowac można byle gdzie.

Przy większej liczbie niechcianych hostów trzeba by było zmodyfikować to wszystko, tak by korzystać z bazy danych (1-no zapytanie), a nie z ręcznej listy hostów i pętli foreach.

Mnie codziennie nękało jakieś tysiąc wejść z amazonaws. To z kont trzymanych na Amazon, tam dużo różnych śmundaków trzyma swoje dzieła. I od tego zacząłem banowanie, później doszło wiele innych śmieciowatych botów. Mimo wszystko to tylko część śmiecia jaka do mne trafia. Jest dużo śmiecia praktycznie nie do zidentyfikowania.

Nigdy nie banuj nic w .htaccess jeśli masz dostęp do httpd.conf.

Pamiętaj, że .htaccess jest czytany za każdym razem kiedy ktoś wchodzi na stronę. To może mocno spowolnić ładowanie strony, nawet o kilka ładnych sekund.

Regułki w httpd.conf czytane są tylko raz.

Spróbuj zbanować w .htaccess zakresy IP kilku państw z Chinami na czele i zobaczysz jak to może spowolnić stronę.

Ja osobiście używam takiego zmodyfikowanego włoskiego skryptu statystyk i mam link gdzie mogę podejrzeć szczegóły dotyczące danej wizyty, zbanować IP albo hosta wg przykładu jw., wszystko to w real time. Praktycznie cały czas mam staty otwarte i widzę na bieżąco co się dzieje. Czasem wtedy reaguję ze skutkiem natychmiastowym.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Nigdy nie banuj nic w .htaccess jeśli masz dostęp do httpd.conf.

Pamiętaj, że .htaccess jest czytany za każdym razem kiedy ktoś wchodzi na stronę. To może mocno spowolnić ładowanie strony, nawet o kilka ładnych sekund.

Regułki w httpd.conf czytane są tylko raz.

Tutaj nie do końca sie zgodzę, ponieważ z plikiem .htaccess masz racje, podobnie jak z vhostem, z tym ze w przypadku vhosta sprawa nie jest taka ciekawa, ponieważ plik wczytywany jest tylko raz i wrzucany od razu do pamięci, spróbuj przeładowac apache mając np. 1k domen i każda z vhostem w którym zbanowane są całe klasy IP. Fakt będzie to wydajniejsze niż .htaccess ale nie najwydajniejsze.

Jest wiele opcji, najlepszym rozwiązaniem w przypadku dedykowanych rozwiązań jest oczywiście drop w iptables lub nawet stary dobry mod_security.

VPS już od 130 zł netto (rocznie) - Kliknij tutaj

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności