Większość moich wizyt pochodzi od pająków baidu. Nie wydaje mi się, żeby to w ogóle pomogło wyszukiwarkom, więc myślę o tym, jak je zablokować. Czy można to zrobić za pomocą iptables? Używam nginx jako mojego serwera.
robots.txt
zasad.
Większość moich wizyt pochodzi od pająków baidu. Nie wydaje mi się, żeby to w ogóle pomogło wyszukiwarkom, więc myślę o tym, jak je zablokować. Czy można to zrobić za pomocą iptables? Używam nginx jako mojego serwera.
robots.txt
zasad.
Odpowiedzi:
W pliku robots.txt dodaj
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
i nadal mam dostęp do baiduspider.
Właśnie pomyślnie zablokowałem chińskiego robota wyszukiwania Baiduspider
dostęp do jakiejkolwiek treści na mojej stronie. Podjąłem decyzję o tym z następujących powodów.
Powody podjęcia decyzji o zablokowaniu
Mam więc nadzieję, że Su i inni zaniepokojeni ksenofobią zrozumieją, że ta decyzja jest chłodną odpowiedzią na nieliczną liczbę próśb.
metoda
Baiduspider uzyskuje dostęp do mojego serwera przy użyciu wielu różnych adresów IP, ale adresy te mieszczą się w określonych zakresach. Zatem mój plik .htaccess zawiera teraz następujące wiersze:
order allow,deny
allow from all
# Block access to Baiduspider
deny from 180.76.5.0/24 180.76.6.0/24 123.125.71.0/24 220.181.108.0/24
Dolna linia zasadniczo opisuje 4 zakresy adresów IP, w których znam Baiduspider i TYLKO Baiduspider uzyskuje dostęp do mojego serwera. Każdy z 4 zakresów ma 256 kolejnych adresów (łącznie 1024). Uwaga: składnia zakresów IP w deny from...
linii może być bardzo myląca, jeśli nie odczytano zakresów CIDR. Po prostu zrozum, że 0/24
oznacza zakres 256, zaczynając od 0, więc 180.76.5.0/24
właściwie każdy adres IP pomiędzy 180.76.5.0
i 180.76.5.255
. Tak, nie jest to szczególnie oczywiste! Ale jeśli chcesz dowiedzieć się, dlaczego lub po prostu czujesz się zdezorientowany, odwiedź http://www.mediawiki.org/wiki/Help:Range_blocks
streszczenie
Internet powinien być bezpłatny, otwarty i uczciwy. Ale to oznacza, że organizacje takie jak Baidu uczą się przestrzegać pliku Robots.txt i są mniej chciwe w regularności pełzania. Moje rozwiązanie polega na majstrowaniu przy bardzo zaawansowanych ustawieniach, więc zanim zaczniesz bawić się plikiem .htaccess, pamiętaj o utworzeniu kopii zapasowej oryginału, gotowej do wycofania, jeśli zdejmiesz serwer w blasku chwały. Postępuj na własne ryzyko.
Możesz użyć poniższej dyrektywy, robots.txt
aby zabronić indeksowania witryny.
# robots.txt
User-agent: Baiduspider
Disallow: /
Jednak roboty mogą zdecydować o zignorowaniu zawartości pliku robots.txt. Ponadto plik może być buforowany przez wyszukiwarki, a odzwierciedlenie zmian zajmuje trochę czasu.
Najbardziej efektywnym podejściem jest wykorzystanie możliwości serwera. Dodaj następującą regułę do nginx.conf
pliku, aby zablokować Baidu na poziomie serwera.
if ($http_user_agent ~* ^Baiduspider) {
return 403;
}
Pamiętaj, aby ponownie uruchomić lub ponownie załadować Nginx, aby zastosować zmiany.
Właśnie postanowiłem zablokować Baidu, ponieważ ruch, który nam zapewniał, był zbyt znikomy dla ich agresywnego skanowania. Ponadto obsługują teraz agenta, który podszywa się pod przeglądarkę i uruchamia kod JavaScript (np. Google Analytics) i popsuł nasze statystyki.
Ładna wersja aktualizuje plik robots.txt za pomocą następujących
User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /
Ale biorąc pod uwagę to, co napisali tutaj inni użytkownicy korzystający z klienta użytkownika, który ukrywa ich obecność, całkowicie zablokowałbym ich adresy IP. Oto jak to się robi w Nginx
# Baidu crawlers
deny 123.125.71.0/24;
deny 180.76.5.0/24;
deny 180.76.15.0/24;
deny 220.181.108.0/24;
Rozwiązanie Wordpress (nie najlepsze, ale pomaga)
Ten sam problem z pająkiem Biadu, tak agresywny, że moje pudełko zajęło ponad 35 miejsce w mojej konsoli przy użyciu top. Oczywiście nawet szybki komputer nie jest w stanie skutecznie obsłużyć zewnętrznych żądań działających w wieku 35 lat ...
Prześledziłem liczbę adresów IP (z tego budynku uniwersyteckiego ????) do kilkuset, głównie z dwoma użytkownikami)
Bezpośrednia konsekwencja? Ponieważ mam serwer w chmurze, musiałem zaktualizować to samo do wyższej pamięci, aby umożliwić odmowną odpowiedź.
Poprzednia odpowiedź:
#Baiduspider
User-agent: Baiduspider
Disallow: /
Baidu wydaje się całkowicie niezdolny do przestrzegania wskazania pliku robot.txt.
Zainstalowałem wtyczkę WP-Ban dla Wordpress (bezpłatny) i zablokowałem następujące:
AGENCI UŻYTKOWNIKA:
Baiduspider+(+http://www.baidu.com/search/spider.htm)
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
Ponadto za pomocą Wp Super Cache I ponownie adresuję względną stronę błędu na stronę statyczną, dlatego cała instalacja wordpress nie / lub przynajmniej tylko dla zbanowanych użytkowników sprawdza moduł danych Mysql.
(Jest to standardowa blablabla Wordpressa, więc każdy, kto może zainstalować wtyczkę Wordpress, może to zrobić, ponieważ do tej procedury nie jest wymagany dostęp do kodu ani ftp)
Zgadzam się ze wszystkimi: Internet jest bezpłatny, banowanie kogokolwiek lub cokolwiek jest absolutnie ostatnią rzeczą, którą każdy powinien zrobić, ale Baidoo kosztuje mnie dziś o 40 USD więcej miesięcznie, tylko po to, aby pająkować stronę internetową napisaną w języku portugalskim, i mam wątpliwości, czy istnieją wielu Chińczyków i odwiedzających potrafi czytać i rozumieć ten język.
Możesz zablokować według adresu IP, używając ngx_http_access_module
nginx. Aby zablokować pojedynczy adres IP, możesz dodać linię do pliku conf, np
deny 12.34.567.1;
Aby zablokować zakres, użyj notacji CIDR , podobnie jak 12.34.567.1/24
w 24-bitowym bloku podsieci (256 adresów IP), który zawiera adres IP 12.34.567.1. Aby uzyskać więcej informacji, zobacz na przykład tę stronę .
Użyj .htaccess z
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .* - [L,F]
„RewriteEngine On” pozwala na prawidłowe parsowanie następujących linii. HTTP_USER_AGENT to linia, w której pająki się identyfikują. Warunek jest spełniony, jeśli wiersz zawiera „MJ12bot” lub „Baidu”. NC oznacza „bez rozróżniania wielkości liter” i możesz połączyć łańcuchy za pomocą OR. Ostatni wiersz nie może zawierać „LUB” lub reguła nie działa.
Baidu jest szczególnie nieprzyjemny, ponieważ próbuje odczytać wpisy Wordpress („fckeditor”, „wp-content”), dla których nie ma absolutnie żadnego powodu. MJ12bot jest również jednym ze złych stworzeń.
Reguła Przepisz oznacza zablokowanie pająka za pomocą 403 Forbidden ([F]), aby uzyskać dostęp do wszystkich plików (. * To wyrażenie regularne dla dowolnego pliku) i zatrzymać dalszą ocenę ([L]) htaccess.
F
Flaga oznacza L
, dzięki czemu nie trzeba jawnie zawierać L
flagę tutaj. Również wzór podobny ^.*Baidu
jest taki sam jak zwykły Baidu
.