2010-02-15 12 views

답변

5

검색 엔진 크롤러 및 사람 방문자에게 다른 콘텐츠 (예 : cloaking)를 제공하는 것은 위험한 일이며 검색된 경우 검색 엔진에 의해 처벌 될 수 있습니다.

그렇다면 제대로 유지 관리 된 "봇 목록"에 대한 링크가있는 this SO answer을 확인하십시오. USER_AGENT 문자열을 구문 분석하고이를 봇 목록과 비교해야합니다.

1

user-agent 속성으로 확인할 수 있습니다. 사용자 에이전트 문자열에 대한 자세한 내용은 여기를 확인하십시오. http://www.user-agents.org/ "R = Robot, crawler, spider"유형의 레코드를 표시하십시오. 이것은 보장 할 수없는 비트이며 사용자 에이전트 속성은 여러 요소에 의해 변경 될 수 있으며 100 % 신뢰할 수는 없습니다.

2

사용자 에이전트 또는 IP를 확인하여이를 수행 할 수 있습니다. 그것은 은 다른 사람, 덜 평판 좋은 봇에 대한 큰 사람의 사용자 에이전트를 속일 수 있기 때문에 후자를 사용하는 것이 바람직 할 수 있습니다. google et al의 경우에도 IP가 좁은 범위에있는 경향이 있기 때문에 IP를 감지 할 때 방대한 목록을 컴파일하지 않아도됩니다.

1

평판이 좋은 로봇에게만 관심이있는 경우. 구글, 야후, MSN/라이브/빙/뭐든 - 그것 - 오늘, 물어 등 왕복 DNS 검사를 사용할 수 있습니다.

1) 알려진 사용자 에이전트 (googlebot과 같은 알려진 부분 문자열 확인)
예 : Mozilla/5.0 (호환 가능, Googlebot/2.1, + http://www.google.com/bot.html

2) 요청한 IP에 대해 역 DNS를 수행하고 합리적인 도메인에서 온 것인지 확인하십시오.
예 : 66.249.71.202의 rdns는 crawl-66-249-71-202.googlebot.com입니다 (googlebot.com에서 매우 기쁩니다).

3) 자체 단계 2 가짜 일 수 있으므로 이제는 DNS를 확인하십시오. 2 단계에서 반환 된 결과에 대한 A 레코드를 확인하고 원래 요청한 IP를 가지고 있는지 확인하십시오.
예 : 위의 DNS는
crawl-66-249-71-202.googlebot.com입니다. A 66.249.71.202

66.249.71.202가 요청하는 IP 주소이므로 유효한 googlebot입니다.

관련 문제