탐지를 원하지 않는 웹 크롤러를 탐지하기 위해 어떤 옵션이 있습니까?
(목록 탐지 기술을 사용하면 스마트 스텔스 크롤러 프로그래머가 더 나은 스파이더를 만들 수 있다는 것을 알고 있지만 어쨌든 스마트 스텔스 크롤러를 차단할 수는 없을 것이라고 생각합니다.
googlebot 및 Yahoo!와 같은 멋진 크롤러에 대해 말하는 것이 아닙니다. 슬러 프. 다음과 같은 경우 봇이 좋다고 생각합니다.
- 사용자 에이전트 문자열에서 자신을 봇으로 식별합니다.
- robots.txt를 읽고 준수합니다.
나는 나쁜 크롤러 에 대해 이야기하고 있고 , 일반적인 사용자 에이전트 뒤에 숨어 있고, 내 대역폭을 사용하고, 대가로 아무것도주지 않습니다.
업데이트 된 목록을 구성 할 수있는 몇 가지 트랩 도어가 있습니다 (Chris, gs에게 감사합니다) .
- robots.txt에 나열된 (허용하지 않음으로 표시) 디렉토리 추가,
- 보이지 않는 링크 추가 (아마도 rel = "nofollow"?로 표시됨),
- style = "디스플레이 : 없음;" 링크 또는 상위 컨테이너
- Z- 색인이 더 높은 다른 요소 아래에 배치
- CaPiTaLiSaTioN을 이해하지 못하는 사람을 감지합니다.
- 누가 답글을 게시하려고하지만 항상 보안 문자가 실패하는지 감지합니다.
- POST 전용 리소스에 대한 GET 요청 감지
- 요청 사이의 간격 감지
- 요청 된 페이지 순서 감지
- http를 통해 https 리소스를 (일관되게) 요청하는 사람 감지
- 이미지 파일을 요청하지 않는 사람 감지 (알려진 이미지 지원 브라우저의 사용자 에이전트 목록과 결합하면 놀랍도록 훌륭하게 작동합니다)
일부 트랩은 '좋은'봇과 '나쁜'봇 모두에 의해 트리거됩니다. 이를 화이트리스트와 결합 할 수 있습니다.
- 함정을 유발합니다.
- 요청
robots.txt
? - 순종했기 때문에 다른 함정을 유발하지 않습니다.
robots.txt
여기에서 또 다른 중요한 사항은 다음과 같습니다.
스크린 리더를 사용하는 시각 장애인을 고려하십시오. 사람들에게 연락 할 수있는 방법을 제공하거나 (이미지가 아닌) 보안 문자를 해결하여 계속 탐색하십시오.
정상적인 인간 방문자로 위장하려는 웹 크롤러를 자동으로 감지하는 방법은 무엇입니까?
업데이트
문제는 아닙니다. 모든 크롤러를 어떻게 잡아야합니까? 문제는 크롤러를 감지 할 가능성을 극대화 할 수있는 방법입니다.
일부 스파이더는 정말 훌륭하고 실제로 html, xhtml, css javascript, VB 스크립트 등을 구문 분석하고 이해합니다
. 나는 환상이 없습니다. 나는 그들을 이길 수 없습니다.
그러나 일부 크롤러가 얼마나 어리석은 지 놀랄 것입니다. 어리 석음의 가장 좋은 예는 (내 의견으로는) 요청하기 전에 모든 URL을 소문자로 변환하는 것입니다.
그리고 다양한 함 정문을 피할 수있는 '충분하지 않은'크롤러가 많이 있습니다.