내 방문의 대부분은 바이두 거미에서 왔습니다. 검색 엔진에 전혀 도움이되지 않는다고 생각하므로 차단하는 방법을 생각하고 있습니다. iptables를 통해이 작업을 수행 할 수 있습니까? 웹 서버로 nginx를 사용하고 있습니다.
robots.txt
규칙을 준수하지 않는다는 것을 발견했습니다 .
내 방문의 대부분은 바이두 거미에서 왔습니다. 검색 엔진에 전혀 도움이되지 않는다고 생각하므로 차단하는 방법을 생각하고 있습니다. iptables를 통해이 작업을 수행 할 수 있습니까? 웹 서버로 nginx를 사용하고 있습니다.
robots.txt
규칙을 준수하지 않는다는 것을 발견했습니다 .
답변:
robots.txt에 추가
#Baiduspider
User-agent: Baiduspider
Disallow: /
#Yandex
User-agent: Yandex
Disallow: /
User-agent: *
바이두 스파이더 액세스를 계속하고 있습니다.
중국 검색 봇 Baiduspider
이 내 사이트의 콘텐츠에 액세스하지 못하도록 막았습니다 . 다음과 같은 이유로 결정을 내 렸습니다.
차단을 결정하는 이유
그래서 Su '와 Xenophobia에 관심이있는 다른 사람들이이 결정이 수많은 요청에 대한 멋진 반응임을 이해할 수 있기를 바랍니다.
방법
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
결론은 기본적으로 Baiduspider와 Baiduspider 만 내 서버에 액세스하는 4 개의 IP 범위를 설명합니다. 4 개의 범위는 각각 256 개의 연속 주소 (총 1024)입니다. deny from...
CIDR 범위를 읽지 않으면 회선 의 IP 범위에 대한 구문 이 매우 혼란 스러울 수 있습니다. 그냥 이해 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를 다시 시작하거나 다시로드해야합니다.
바이두가 우리에게 제공하는 트래픽의 양이 공격적인 스캔을하기에는 너무 무시할 정도로 바이두를 막기로 결정했습니다. 또한 이제는 브라우저를 사칭하고 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;
워드 프레스 솔루션 (최고는 아니지만 도움이 됨)
Biadu 스파이더와 동일한 문제로 콘솔에서 top을 사용하여 내 상자의 순위가 35 이상이라는 공격적입니다. 분명히 빠른 컴퓨터조차도 35에서 실행되는 외부 요청을 효과적으로 처리 할 수 없습니다 ....
나는 IP의 수를 (그 대학 건물에서 ????) 수백, 주로 2 개의 사용자 에이전트로 추적했습니다)
직접적인 결과? 클라우드 서버가 있으므로 감소 응답을 허용하기 위해 동일한 메모리를 더 높은 메모리로 업그레이드해야했습니다.
이전 답변 :
#Baiduspider
User-agent: Baiduspider
Disallow: /
Baidu는 robot.txt 표시를 완전히 존중할 수없는 것 같습니다.
Wordpress (무료) 용 WP-Ban 플러그인을 설치하고 다음을 금지했습니다.
사용자 에이전트 :
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를 사용하면 상대 오류 페이지를 정적 페이지로 다시 주소 지정하므로 전체 워드 프레스 설치가 금지 된 사용자 에이전트에 대해서만 또는 적어도 Mysql 데이터 테이블을 확인하지 않습니다.
(이것은 표준 Wordpress blablabla이므로 Wordpress Plugin을 설치할 수있는 모든 사람이 할 수 있습니다.이 절차에는 코딩이나 ftp 액세스가 필요하지 않습니다.)
나는 모두에게 동의합니다 : 인터넷은 무료이며, 누구든지 또는 누군가가해야 할 일을 절대적으로 금지하지만, 오늘 Baidoo는 Portughese로 작성된 웹 사이트를 스파이더하기 위해 한 달에 USD 40 더 많은 비용을 듭니다. 많은 중국인과 방문객들이이 언어를 읽고 이해할 수 있습니다.
ngx_http_access_module
nginx를 사용하여 IP 주소로 차단할 수 있습니다 . 단일 IP를 차단하려면 다음과 같이 conf 파일에 줄을 추가하십시오.
deny 12.34.567.1;
범위를 차단하려면 12.34.567.1 IP 주소가 포함 된 24 비트 서브넷 블록 (256 개의 IP 주소) 과 같은 CIDR 표기법을 사용 12.34.567.1/24
하십시오. 자세한 내용은 이 페이지를 참조하십시오 .
.htaccess와 함께 사용
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Baidu [NC]
RewriteRule .* - [L,F]
"RewriteEngine On"을 사용하면 다음 줄을 올바르게 구문 분석 할 수 있습니다. HTTP_USER_AGENT는 스파이더가 자신을 식별하는 라인입니다. 라인에 "MJ12bot"또는 "Baidu"가 포함 된 경우 조건이 참입니다. NC는 "대소 문자를 구분하지 않음"을 의미하며 OR을 사용하여 조건을 연결할 수 있습니다. 마지막 줄은 "OR"을 포함하지 않아야합니다. 그렇지 않으면 규칙이 작동하지 않습니다.
Baidu는 절대 이유가없는 Wordpress 항목 ( "fckeditor", "wp-content")을 읽으려고하기 때문에 특히 불쾌합니다. MJ12bot도 나쁜 동물 중 하나입니다.
다시 쓰기 규칙은 403 Forbidden ([F])으로 스파이더를 차단하여 모든 파일에 액세스하고 (. *는 모든 파일에 대한 정규식 임) htaccess의 추가 평가 ([L])를 중지합니다.
F
플래그는 의미 L
를 명시 적으로 포함하기 때문에 필요하지 않은, L
여기에 플래그를. 또한 같은 패턴 ^.*Baidu
은 단순히와 같습니다 Baidu
.