15P by xguru 2020-09-11 | favorite | 댓글 2개

Selenium 기준이지만 다른곳에도 적용 가능

1. Navigator.Webdriver 플래그 제거
2. ChromeDriver / GeckoDriver 에서 특정 문자열 제거
3. 해상도,User-Agent 등 변경
4. 실제 URL 플로우 사용. 보이지 않는 링크 방문 회피
5. Proxy를 이용해서 IP 변경
6. 랜덤 지연값 사용
7. 헤드리스 브라우저를 사용하지 말 것(Notification Permission 을 체크해서 확인)

1 번의 경우 Puppeteer 에서는 true/false 세팅만으로는 봇으로 디텍트 되는 곳이 있어서
아예 아래처럼 속성을 지우는게 좋다고

const newProto = navigator.__proto__;
delete newProto.webdriver;
navigator.__proto__ = newProto;

That's a good point :) I replaced the code