2010-07-22 2 views

답변

5

asp.net 애플리케이션에서 Google 크롤러 요청을 캡처했으며 여기에 Google 크롤러의 서명이 표시됩니다. 66.249.71.113
클라이언트 : IP 요청

모질라/5.0 (; Googlebot이/2.1, 호환 + http://www.google.com/bot.html)

내 로그는 66.249.71.* 범위에서 구글 크롤러 다양한 IP를 관찰합니다. 이 모든 IP는 미국 캘리포니아 주 마운틴 뷰 (Mountain View, CA, USA)의 지리적 위치에 있습니다.

Google 크롤러의 요청인지 확인하는 좋은 방법은 Googlebothttp://www.google.com/bot.html이라는 요청을 확인하는 것입니다. 동일한 요청 클라이언트에서 많은 IP가 관찰되었다고 말했기 때문에 IP를 확인하지 않는 것이 좋습니다. 그리고 그게 바로 고객의 정체성이 그려지는 곳일지도 모릅니다. 따라서 클라이언트 신원을 확인하십시오.

다음은 C#의 샘플 코드입니다.

if (Request.UserAgent.ToLower().Contains("googlebot") || 
      Request.UserAgent.ToLower().Contains("google.com/bot.html")) 
    { 
     //Yes, it's google bot. 
    } 
    else 
    { 
     //No, it's something else. 
    } 

모든 Http 클라이언트가 쉽게 위조 할 수 있다는 점에 유의해야합니다.

+0

그들은 항상이 ip를 사용합니까? – CoderHawk

+0

아니요, 그들은 66.249.71에 광범위한 IP를 사용하고있는 것으로 나타났습니다.*' –

0

Apache Webserver를 사용하는 경우 'log \ access.log'로그 파일을 볼 수 있습니다.

그런 다음 http://www.iplists.com/nw/google.txt에서 google의 IP를로드하고 IP 중 하나가 로그에 포함되어 있는지 확인하십시오.

+0

아니요, 클라이언트 IP가 변경 될 수 있기 때문에 신뢰할 수있는 방법이 아닙니다. –

7

공식 Verifying Googlebot 페이지를 읽을 수 있습니다.

여기 페이지를 인용 :

당신은 봇이 정말 당신의 서버에 액세스하는 것을 확인할 수는 이름에 있음을 확인, 를 역방향 DNS 조회를 사용하여 Google 검색 (또는 다른 Google 사용자 에이전트)입니다 googlebot.com 도메인을 검색 한 다음 해당 googlebot 이름을 사용하여 전달 DNS 조회를 수행합니다. 스팸 발송자 또는 기타 문제가있는 사용자가 Google 검색 로봇이라고 주장하면서 사이트에 액세스하고 있다고 우려하는 경우 유용합니다. 예를 들어

:

> host 66.249.66.1 
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com. 

> host crawl-66-249-66-1.googlebot.com 
crawl-66-249-66-1.googlebot.com has address 66.249.66.1 

구글은 화이트리스트하는 웹 마스터를위한 IP 주소의 공개 목록을 게시하지 않습니다. 이는 주소 범위가 변경되어 에 하드 코드 된 모든 웹 마스터에게 문제가 발생할 수 있기 때문입니다. GoogleBot 에 의한 액세스를 식별하는 가장 좋은 방법은 사용자 에이전트 (Googlebot)를 사용하는 것입니다.

관련 문제