
대형 검색 엔진을 제외한 모든 봇을 차단하겠습니다.
내 차단 방법 중 하나는 "언어"를 확인하는 것입니다.Accept-Language
Accept-Language가 없으면 봇의 IP 주소는 2037년까지 차단됩니다.
Googlebot에는 가 없습니다 Accept-Language
. DNS 조회로 확인하고 싶습니다.
<?php
gethostbyaddr($_SERVER['REMOTE_ADDR']);
?>
사용해도 괜찮나요 gethostbyaddr
? 누군가 내 " gethostbyaddr
보호"를 통과할 수 있나요?
답변1
이것은 실제로 Server Fault(실제로 SEO 사이트가 가장 좋을 것임)보다 Stack Overflow에 대한 질문이지만, 거기에 있는 내용은 매우 신뢰할 수 없습니다. Googlebot은 여러 IP 주소에서 나올 수 있으므로 DNS 조회를 역전시킬 수 있습니다. 수천 가지의 다양한 옵션이 있을 수 있으며, 그중 하나가 변경되면 맙소사 거의 30년 동안 합법적인 봇을 차단한 것입니다.
사실 방금 찾았는데스택 오버플로 질문은 여기귀하의 질문에 대한 답변입니다. "에 대한 첫 번째 Google 히트작이었습니다.Google 봇을 식별하는 방법".
사용자 에이전트와 IP 주소로 검색 엔진을 식별합니다. 자세한 내용은 검색 엔진 스파이더 및 웹봇을 식별하는 방법에서 확인할 수 있습니다. 이 목록도 주목할 가치가 있습니다. 그러나 사용자 에이전트(또는 원격 호스트)를 반드시 확정적인 것으로 취급해서는 안 됩니다. 사용자 에이전트는 실제로 상대방이 알려주는 것 이상이며, 물론 무엇이든 자유롭게 알려줄 수 있습니다. Googlebot인 척하는 코드를 작성하는 것은 쉽지 않습니다.
(메모:Google은 실제로 RDNS를 사용하여 봇을 확인할 것을 제안합니다.. 이는 시나리오에 적합할 수 있지만 더 넓은 용도로 사용하는 것은 확실히 좋은 생각이 아닙니다. 게다가 속도도 매우 느립니다.)