Більшість моїх візитів - від павуків baidu. Я не думаю, що це зовсім не допомагає пошуковим системам, тому я думаю, як їх заблокувати. Це можна зробити за допомогою iptables? Я використовую nginx як свій веб-сервер.
robots.txt
правил.
Більшість моїх візитів - від павуків baidu. Я не думаю, що це зовсім не допомагає пошуковим системам, тому я думаю, як їх заблокувати. Це можна зробити за допомогою iptables? Я використовую nginx як свій веб-сервер.
robots.txt
правил.
Відповіді:
Додайте файл robots.txt
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
доступ до байдуспідера і надалі.
Я щойно успішно заблокував китайський пошуковий робот Baiduspider
у доступі до будь-якого вмісту на моєму сайті. Я прийняв рішення зробити це через наступні причини.
Причини прийняти рішення про блокування
Тож я сподіваюся, що Су 'та інші стурбовані Ксенофобією зрозуміють, що це рішення є крутою відповіддю на нечесну кількість запитів.
Метод
Baiduspider отримує доступ до мого сервера, використовуючи безліч різних IP-адрес, але ці адреси потрапляють у певні діапазони. Отже, мій файл .htaccess містить такі рядки:
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
Нижній рядок в основному описує 4 діапазони IP, в яких я знаю, що Baiduspider і ТОЛЬКО Baiduspider отримує доступ до мого сервера. Кожен із 4 діапазонів - це 256 послідовних адрес (всього 1024). Зверніть увагу, синтаксис діапазонів IP в deny from...
рядку може бути дуже заплутаним, якщо ви не прочитали на діапазонах CIDR. Просто зрозумійте, що 0/24
означає діапазон розмірів 256, починаючи з 0, тобто 180.76.5.0/24
фактично означає кожну IP-адресу між 180.76.5.0
та 180.76.5.255
. Так, не особливо очевидно! Але якщо ви хочете дізнатися, чому ви просто насолоджуєтесь, перейдіть на сторінку http://www.mediawiki.org/wiki/Help:Range_blocks
Підсумок
Інтернет повинен бути безкоштовним, відкритим та справедливим. Але це означає, що такі організації, як Baidu, вчаться підкорятися Robots.txt і бути менш жадібними щодо регулярності його сканування. Моє рішення передбачає майстерність з дуже потужними налаштуваннями, тому перед тим, як зіпсуватись із файлом .htaccess, обов'язково створіть резервну копію оригіналу, готовий до відкату, якщо ви знімете сервер у запалі слави. Продовжуйте на власний ризик.
Ви можете використовувати наступну директиву, robots.txt
щоб заборонити сканування вашого сайту.
# robots.txt
User-agent: Baiduspider
Disallow: /
Однак сканери можуть вирішити ігнорувати вміст robots.txt. Більше того, файл може кешуватися пошуковими системами, і це потребує часу, перш ніж зміни відобразяться.
Найефективніший підхід - використання можливостей вашого сервера. Додайте наступне правило у свій nginx.conf
файл, щоб заблокувати Baidu на рівні сервера.
if ($http_user_agent ~* ^Baiduspider) {
return 403;
}
Не забудьте перезапустити або перезавантажити Nginx, щоб застосувати зміни.
Щойно вирішили заблокувати Baidu, оскільки кількість трафіку, який він нам надає, була занадто незначною для їх агресивного сканування. Крім того, вони зараз запускають агент, який представляє себе за браузер і запускає код JavaScript (наприклад, Google Analytics) і псує нашу статистику.
Хороша версія - оновлення robots.txt наступним чином
User-agent: Baiduspider
Disallow: /
User-agent: Baiduspider-video
Disallow: /
User-agent: Baiduspider-image
Disallow: /
Але з огляду на те, що тут написали інші та користуючись користувачем-агентом, який приховує їхню присутність, я б повністю заблокував їхні IP адреси. Далі - як це робиться в 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;
Рішення Wordpress (не найкраще, але допомагає)
Та сама проблема з павуком Biadu, що агресивно, що мій ящик займав понад 35 в моїй консолі за допомогою верху. Очевидно, що навіть швидкий комп'ютер не може ефективно обробляти зовнішні запити, що працюють у 35 ...
Я простежив, щоб кількість ІС (з тієї будівлі університету ????) становила кілька сотень, в основному два користувачі)
Прямий наслідок? Оскільки у мене є хмарний сервер, мені довелося оновити те саме до більш високої пам'яті, щоб дозволити обман на відповідь.
Попередня відповідь:
#Baiduspider
User-agent: Baiduspider
Disallow: /
Здається, Baidu абсолютно не в змозі поважати вказівку robot.txt.
Я встановив плагін WP-Ban для Wordpress (безкоштовно) і заборонив наступне:
АГЕНТИ КОРИСТУВАЧА:
Baiduspider+(+http://www.baidu.com/search/spider.htm)
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
Крім того, використовуючи Wp Super Cache, я повторно адресую сторінку відносної помилки на статичну сторінку, таким чином, вся установка wordpress не / або принаймні лише для заборонених useragents перевіряє Mysql даних.
(Це стандартна Wordpress blablabla, тому кожен, хто має змогу встановити плагін Wordpress, може це зробити, оскільки для цієї процедури не потрібно жодного кодування чи доступу до ftp)
Я погоджуюся з усіма: Інтернет безкоштовний, забороняючи будь-кого або що-небудь абсолютно останнє, що хто-небудь повинен робити, але Baidoo сьогодні коштує мені ще 40 доларів США / місяць, просто щоб переглядати веб-сторінку, написану на португальській мові, і у мене є сумніви, чи є багато китайців та відвідувачів можуть читати та розуміти цю мову.
Ви можете заблокувати IP-адресу, використовуючи ngx_http_access_module
nginx. Щоб заблокувати єдиний IP, ви можете додати рядок до файлу conf, наприклад
deny 12.34.567.1;
Для блокування діапазону використовуйте позначення CIDR , як 12.34.567.1/24
для 24-бітного блоку підмережі (з 256 IP-адрес), що включає 12.34.567.1 IP-адресу. Детальніше див., Наприклад, на цій сторінці .
Використовуйте .htaccess за допомогою
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .* - [L,F]
"Увімкнути перезаписEngine" дозволяє вам правильно проаналізувати наступні рядки. HTTP_USER_AGENT - це лінія, де павуки ідентифікують себе. Ця умова справедлива, якщо рядок містить "MJ12bot" або "Baidu". NC означає "не залежно від регістру", і ви можете зв'язувати умови з АБО. Останній рядок не повинен містити "АБО", або правило не працює.
Baidu особливо неприємний тим, що намагається читати записи Wordpress ("fckeditor", "wp-content"), для яких немає абсолютно ніяких причин. MJ12bot також є одним із поганих факторів.
Правило перезапису означає блокувати павука з 403 Забороненим ([F]) для доступу до всіх файлів (. * Є регулярним виразом для будь-якого файлу) і зупинити подальше оцінювання ([L]) htaccess.
F
Прапор означає L
, так що вам не потрібно явно включити L
прапор тут. Крім того, зразок подібний ^.*Baidu
просто Baidu
.