HTTP 서버의 관점에서 볼 때.웹 요청이 Google의 크롤러에서 오는 것인지 확인하는 방법은 무엇입니까?
답변
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 크롤러의 요청인지 확인하는 좋은 방법은 Googlebot
및 http://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 클라이언트가 쉽게 위조 할 수 있다는 점에 유의해야합니다.
그들은 항상이 ip를 사용합니까? – CoderHawk
아니요, 그들은 66.249.71에 광범위한 IP를 사용하고있는 것으로 나타났습니다.*' –
Apache Webserver를 사용하는 경우 'log \ access.log'로그 파일을 볼 수 있습니다.
그런 다음 http://www.iplists.com/nw/google.txt에서 google의 IP를로드하고 IP 중 하나가 로그에 포함되어 있는지 확인하십시오.
아니요, 클라이언트 IP가 변경 될 수 있기 때문에 신뢰할 수있는 방법이 아닙니다. –
공식 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)를 사용하는 것입니다.
- 1. 요청이 프록시에서 오는 것인지 확인하는 방법은 무엇입니까?
- 2. 크롤러에서 내 사이트로 데이터를 가져 오는 방법은 무엇입니까?
- 3. 요청이 모바일 또는 컴퓨터에서 나온 것인지 확인하는 방법
- 4. 클릭이 자신의 웹 사이트에서 오는 것인지 확인하십시오.
- 5. Wicket에서 요청이 GET인지 POST인지 확인하는 방법은 무엇입니까?
- 6. 크롤러에서 웹 사이트 콘텐츠 보호
- 7. window.opener가 내 웹 페이지에서 온 것인지 확인하는 방법?
- 8. date() 함수가 1을 뺀 것인지 확인하는 방법은 무엇입니까?
- 9. 그림이 명시적인 것인지 확인하는 방법
- 10. 시스템 속성이 기본값이 아닌 사람 조작원에서 오는 것인지 확인하는 방법은 무엇입니까?
- 11. 서버 측 API에 액세스하는 Google의 phonegap 앱인지 확인하는 방법은 무엇입니까?
- 12. PHP에서 Ajax 요청이 5 분 이상 경과했는지 확인하는 방법은 무엇입니까?
- 13. PHP 리퍼러 : 요청이 실제로 어디에서 왔는지 확인하는 방법
- 14. 연결 문자열이 로컬 시스템을위한 것인지 확인하는 방법
- 15. HTTP 요청이 BOT인지 확인하는 방법
- 16. http 요청이 특정 위치에서 발생하도록하는 방법은 무엇입니까?
- 17. 웹 페이지의 실제 크기를 확인하는 방법은 무엇입니까?
- 18. 앱에서 웹 사이트의 업데이트를 확인하는 방법은 무엇입니까?
- 19. 웹 사이트에서 이미지를 찾았는지 확인하는 방법은 무엇입니까?
- 20. 웹 페이지가 스크롤되었는지 확인하는 방법은 무엇입니까?
- 21. 웹 사이트의 소유권을 확인하는 방법은 무엇입니까?
- 22. 웹 서버에서 실행 중인지 확인하는 방법은 무엇입니까?
- 23. 웹 사이트에서 데이터를 가져 오는 방법은 무엇입니까?
- 24. 웹 페이지에서 데이터를 가져 오는 방법은 무엇입니까?
- 25. 웹 페이지에서 콘텐츠를 가져 오는 방법은 무엇입니까?
- 26. 사용자 입력이 바코드 스캐너 또는 키보드에서 온 것인지 확인하는 방법?
- 27. 여러 웹 요청이 동일한 레코드를 처리하지 못하게하는 방법은 무엇입니까?
- 28. SharePoint 문서 사용 권한을 확인하는 방법은 무엇입니까?
- 29. 웹 서비스 호출자가 내 웹 사이트인지 확인하는 방법은 무엇입니까?
- 30. 웹 서비스 요청 중에 xml이 어떻게 전송되는지 확인하는 방법은 무엇입니까?
http://www.user-agents.org/index.shtml?g_m – msw
[htaccess로 파일 Google 검색 확인]의 중복 가능성 (http://stackoverflow.com/questions/22280631/verifying-googlebot -in-htaccess-file) –