✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Zatrzymaj wściekłe boty, takie jak 360Spider, aby przeszukać moją witrynę

6

Moja witryna steakovercooked.com znajduje się na jednym z serwerów współdzielonych Fasthosts. Ostatnio moja witryna była wielokrotnie wyłączana z powodu ogromnej liczby żądań do mojej witryny. Pochodzą one głównie z robotów indeksujących witrynę. Inżynier ds. operacji IT Fasthosts Ewan MacDonald wysłał mi e-maila i powiedział:

Drogi Justyy

Nie jestem pewien, co dokładnie robisz ze swoją witryną, ale zużyłeś ponad 75% dostępnych procesów Apache. Spowodowało to ogromne problemy dla wszystkich innych klientów serwera WWW.

W tej chwili przeprowadzam skanowanie bezpieczeństwa Twojej witryny.

Pamiętaj, że Twoja witryna zawiera 85 000, czyli 8,6 GB. Nasze warunki stanowią, że wszystkie pliki w Twojej przestrzeni internetowej muszą być częścią witryny, więc czy wszystkie 85 000 plików są częścią witryny i są dostępne za jej pośrednictwem? Jeśli nie, należy je usunąć.

Zamierzam również usunąć 2 foldery htdocs o zmienionej nazwie, chyba że sprzeciwisz się temu?

Jeśli Twoja witryna powoduje ten sam problem z wydajnością podczas skanowania, wyłączę ją ponownie, dopóki nie wyjaśnisz, dlaczego blokuje około 200 procesów Apache.

Z poważaniem,

Następnie sprawdziłem dziennik Apache2 i znalazłem wiele z nich:

[Środa 23 lipca 21:40:21 2014] [ostrzeżenie] mod_fcgid: nie można zastosować slotu procesu dla /var/www/fcgi/php54-cgi
[Środa 23 lipca 21:40:22 2014] [ostrzeżenie] mod_fcgid: może ‘t zastosuj slot procesu dla /var/www/fcgi/php54-cgi
[Środa 23 lipca 21:40:30 2014] [ostrzeżenie] mod_fcgid: nie można zastosować slotu procesu dla /var/www/fcgi/php54-cgi
[ Wed Jul 23 21:40:31 2014] [ostrzeżenie] mod_fcgid: nie można zastosować slotu procesu dla /var/www/fcgi/php54-cgi
[Wed Jul 23 21:40:31 2014] [ostrzeżenie] mod_fcgid: can’ t zastosuj slot procesu dla /var/www/fcgi/php54-cgi
[wed Jul 23 21:40:31 2014] [warn] mod_fcgid: nie można zastosować slotu procesu dla /var/www/fcgi/php54-cgi

Najwyraźniej wygląda na to, że 360spider dość mocno uderzył w witrynę i oczywiście wpływa na inne witryny na tym samym współdzielonym hoście, i dlatego fasthosty muszą wyłączyć moją witrynę.

Problem z 360-pająkiem powrócił później, więc musieli ponownie wyłączyć moją witrynę, dopóki nie będę miał gotowego skryptu do zablokowania jej dostępu, ponieważ powoduje to problemy dla innych użytkowników serwera.

Przykro mi, że sprawia to kłopoty innym hostom udostępniania, ale moim zdaniem lepiej byłoby je zablokować na wyższym poziomie (np. ustawienia Apache). Wyobraź sobie, że inne strony internetowe mogą napotkać ten sam problem. Zoptymalizowałem wcześniej moją witrynę, aby zmniejszyć zużycie procesora, buforując je w statycznych kodach HTML. ale ze względu na dużą liczbę stron (około 5000 zgłoszonych w webmasterze Google), niektóre pająki mogą nie być wystarczająco sprytne, aby rozszyfrować duplikat. Pająki Google są w porządku, ponieważ mogę skonfigurować parametry i przestrzegają pliku robots.txt. Ale te wściekłe pająki (np. 360, youdao) nie do końca przestrzegają zasad indeksowania. Jedynym sposobem na ich zbanowanie jest zaznaczenie ich na czarnej liście (ja na pewno mogę to zrobić). ale inni użytkownicy mogą napotkać ten sam problem.

robots.txt

Plik robots.txt to plik tekstowy w katalogu głównym witryny, który kieruje boty wyszukiwania, które katalogi mają indeksować, a które nie są dozwolone. Ale nie wszystkie boty postępują zgodnie z „instrukcjami". Oto zasady, które dodaję, aby te złe roboty odeszły.

# root User-agent: * Crawl-Delay: 1 User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ User-agent: 360Spider Disallow: / User-agent: YoudaoBot Disallow: / User-agent: sogou spider Disallow: / User-agent: YisouSpider Disallow: / User-agent: LinksCrawler Disallow: / User-agent: EasouSpider Disallow: /

.htaccess

Plik .htaccess jest plikiem tekstowym i ukrytym w każdym katalogu witryny. Jest używany przez moduł re-write apache mod_rewrite, aby adresy URL wyglądały ładniej. Może być również używany do kontrolowania tych botów.

Kod PHP

Ze względów bezpieczeństwa umieściłem również następujący kod w pliku index.php, który służy do generowania różnych stron zgodnie z parametrami adresu URL. 99% stron internetowych jest generowanych przy użyciu tego pliku indeksu.

$agent=''; if (isset($_SERVER['HTTP_USER_AGENT'])) { $agent = $_SERVER['HTTP_USER_AGENT']; } define('BADBOTS','/(yisouspider|easouspider|yisou|youdaobot|yodao|360|linkscrawler|soguo)/i'); if (preg_match(BADBOTS, $agent)) { die(); }

Zasadniczo to, co robi powyższe PHP, to sprawdzanie ciągu HTTP_USER_AGENT przed tymi złymi botami. Preg_match używa wyrażenia regularnego, a opcja /i określa porównania bez uwzględniania wielkości liter.

Zauważyłem też w logu, że jest sporo wpisów takich jak ten:
119.188.91.121 – – [24/Jul/2014:22:39:51 +0100] “GET /?charset=big5&do=System.Online&lang=ch&page =25&per=10&skin=2011rocznica HTTP/1.0" 200 3919 ” https://steakovercooked.com/ … …” “~Mozilla/5.0 (kompatybilna; MSIE 9.0; Windows NT 6.1; Trident/5.0)~”

Z HTTP_USER_AGENT zwykle myślisz, że to nie jest bot, ale myślę, że tak. Więc te boty są bardzo złe. W rzeczywistości podadzą to, co USER_AGENT (mogą zmienić tę wartość) i zwykle pochodzą z kilku adresów IP (więc nie jest łatwo zidentyfikować je wszystkie przy użyciu określonych zakresów adresów IP).

Zatrzymaj wściekłe boty, takie jak 360Spider, aby przeszukać moją witrynę

Wydaje się, że działa po powyższych metodach.

wygląda na to, że działa, ponieważ w dzienniku Apache znajduję ich wiele
[Czwartek 24 lipca 23:01:02 2014] [Błąd] [klient 61.135.189.186] klient odrzucony przez konfigurację serwera: /home/linweb09/z/steakovercooked. com-1048918357/user/htdocs/
[Thu Jul 24 23:01:02 2014] [Błąd] [klient 61.135.189.186] klient odrzucony przez konfigurację serwera: /home/linweb09/z/steakovercooked.com-1048918357/user/htdocs /error
[Czwartek 24 lipca 23:01:08 2014] [błąd] [klient 61.135.189.186] klient odrzucony przez konfigurację serwera: /home/linweb09/z/steakovercooked.com-1048918357/user/htdocs/

Fasthosty też się cieszą: „Tak, teraz wygląda znacznie lepiej. więc zamknę ten bilet. Wielkie dzięki za twoją akcję.”

Może to jednak nie być ostateczne rozwiązanie… Docelowo przeniosę też tę stronę na VPS, serwery równoważące obciążenie lub serwer dedykowany, aby nie została z tego głupia zerwana.

Któregoś dnia przeczytałem następujący akapit i nie mogłem się z tym bardziej zgodzić: Firma hostingowa NIE powinna robić niczego, co mogłoby zaszkodzić reputacji SEO Twojej witryny, nie wspominając o tym, że cała witryna zostanie wyłączona bez Twojej zgody. Fasthosts jest daleko poza granicami i dlatego fasthosts ma tak wiele złych recenzji (coś w rodzaju bzdury, bzdury, uciec na całe życie).

Zatrzymaj wściekłe boty, takie jak 360Spider, aby przeszukać moją witrynę

Przy okazji używam QuickHostUK, który jest po prostu najlepszy. VPS działa świetnie i przeniosłem już kilka witryn.

Zatrzymaj wściekłe boty, takie jak 360Spider, aby przeszukać moją witrynę

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów