웹 스크래핑 – 스크래핑 방지 기술

by 라임라이트 기술영업부

콘텐츠가 읽히면 이미지 및 기타 파일에 대한 인라인 링크가 공격자의 사이트로 복사됩니다. 공격자의 사이트에 동일한 콘텐츠가 표시되면 해당 리소스 (이미지 또는 다른 파일)가 웹 사이트로 직접 연결됩니다. 다른 웹 사이트의 서버에서 호스팅 되는 리소스를 표시하는 이 프로세스를 핫 링크라고 합니다.

스크래핑을 방지하기 위한 모든 기술에 대하여 봇 운영자의 예시로 내  웹 사이트에 적용하여 가 봇을 차단 할 수 있는 모든 기술적인 방법을 살펴 보겠습니다

1. 긁는 속도가 중요

대부분의 웹 스크래핑 봇은 가능한 한 빨리 데이터를 가져 오는 것을 목표로 하지만 실제 사람이 웹을 빨리 서핑 할 수 있는 방법이 없기 때문에 스크랩 봇으로 쉽게 노출 될 수 있습니다. 웹 사이트는 액세스 속도를 쉽게 추적 할 수 있으며 시스템에서 페이지가 빨리 지나가는 것을 발견하면 사용자가 아닌 것으로 의심되어 기본적으로 차단됩니다.

2. IP 제한

사이트가 단일 IP 주소에서 오는 많은 요청이 있음을 감지하면 IP 주소를 쉽게 차단할 수 있습니다. 동일한 IP 주소를 통해 모든 요청을 보내지 않으려면 프록시 서버를 사용할 수 있습니다. 프록시 서버는 다른 서버 ( Proxy server ) 에서 리소스를 찾는 클라이언트의 요청에 대한 중개자 역할을 하는 서버 (컴퓨터 시스템 또는 응용 프로그램)입니다 . 설정 한 IP를 사용하여 웹 사이트에 요청을 보내 실제 IP 주소를 숨길 수 있습니다.

물론 프록시 서버에서 단일 IP 설정을 사용하는 경우 여전히 차단하기 쉽습니다. IP 주소 풀을 생성하고 임의로 사용하여 일련의 다른 IP 주소를 통해 요청을 라우팅해야 합니다.

솔루션 관련하여 다음 콘텐츠에서 계속해서 알아보도록 하겠습니다.

3. 로그인 뒤 긁어

Twitter, Facebook 및 Instagram으로 로그인을 하여  특정 웹 페이지에 더 많이 액세스 할 수 있는 권한으로 간주 할 수 있습니다. Instagram을 예로 들어 로그인하지 않으면 방문자는 각 게시물에서 20 개의 댓글만 얻을 수 있습니다.

HTTP 자체는 각 요청의 정보를 저장하지 않습니다. 그러나 대부분의 HTTP 클라이언트는 세션 쿠키를 저장할 수 있습니다. 이는 스크래퍼가 자신을 식별 할 필요가 없으므로 작동하기에 매우 유익한 환경입니다. 그러나 페이지에 액세스하기 위해 로그인해야 할 때 상황은 변화됩니다.  스크레이퍼는 콘텐츠를 보기 위해 모든 단일 요청에서 식별을 위해 몇 가지 정보를 보내야 하며, 이 정를 추적하여 웹 사이트를 읽어 사람을 찾는 데 매우 유용 할 수 있습니다.

콘텐츠 스크래핑을 중단하지는 않지만 콘텐츠 스크랩을 식별하는 데 도움이 될 수 있습니다.

4. JavaScript 암호화 기술 사용

JS 암호화 기술은 콘텐츠가 긁히지 않도록 보호하는 데 사용됩니다. JavaScript로 작성된 크롤러는 쉽게 속일 수 있습니다.

5. 레이아웃이 다른 페이지

쉽게 긁히지 않도록 일부 웹 사이트는 약간 다른 페이지 레이아웃으로 만들어집니다. 예를 들어, 디렉토리 목록의 1 ~ 10 페이지는 동일한 목록에서 11 ~ 20 페이지와 약간 다르게 보일 수 있습니다.

6. 핫 링크 이미지 중지

사람들이 귀하의 RSS 피드에서 콘텐츠 스크랩을 수행하고 있음을 알게 되면 대역폭을 훔칠 수도 있습니다. 그들은 당신의 웹 사이트에서 이미지를 훔쳐서 갈 수도 있습니다. 이들이 그렇게 하지  못하게 하려면 웹 사이트의 .htaccess 파일을 약간 변경하여 이미지 핫 링크를 비활성화 할 수 있습니다.

7. 보안 문자 사용

보안 문자의 목적은 사람과 컴퓨터를 분리하는 것입니다. 그들은 인간이 쉽게 해결할 수 있는 간단한 문제를 제시하지만 컴퓨터는 해결하기 어렵다고 생각합니다. 이것은 인간을 분리하는 데 도움이 될 수 있지만 귀중한 트래픽을 잃을 수도 있습니다.

따라서 특정 클라이언트가 짧은 간격으로 여러 요청을 보낸 경우에만 보안 문자를 표시 하는 것을 권장 드립니다.

연관된 글