>  기사  >  웹 프론트엔드  >  jquery_jquery의 통계에 대한 안티 브러싱 IP 트래픽 소프트웨어의 영향에 대한 몇 가지 대책

jquery_jquery의 통계에 대한 안티 브러싱 IP 트래픽 소프트웨어의 영향에 대한 몇 가지 대책

WBOY
WBOY원래의
2016-05-16 18:04:591227검색

IP 스와이핑 및 트래픽 스와이핑 소프트웨어에 문제가 발생했습니다.

동일한 IP 수를 같은 날 한 번만 효과적으로 제어하는 ​​솔루션이 주소를 여러 번 새로 고쳐 사용자의 부정 행위를 효과적으로 방지할 수 있다고 생각했습니다. 현재의 트래픽 브러싱 소프트웨어는 강력한 트래픽 브러싱 소프트웨어를 사용하여 많은 양의 정크 데이터를 생성하고 심지어 통계의 정확성에도 영향을 미쳤습니다.

이 상황을 해결하기 위해 잘 알려진 트래픽 브러싱 소프트웨어인 "Flow Bao"와 "Traffic Wizard"도 다운로드하여 이에 대해 알아볼 필요는 없습니다. 사용해 보면 정말 좋습니다. 그것.

이 두 소프트웨어의 원리는 동일하고 나머지도 비슷한 것 같아요. 그들은 네트워크 상호 접속의 원리, 네트워크 노드의 지역적 차이, 사용자의 무작위성을 이용하여 접속 효과를 현실적이고 효과적으로 만듭니다. 즉, 컴퓨터가 끊어졌습니다. 트래픽 브러싱 소프트웨어를 사용하면 전화를 끊은 모든 사용자가 귀하의 주소에 액세스하게 됩니다. 물론 그들이 귀하를 위해 데이터를 브러싱하는 동안 귀하도 다른 사람을 위해 데이터를 브러싱하게 됩니다. Kung Fu 소프트웨어는 뒤에서 이 모든 작업을 수행하므로 몇 분 동안 전화가 끊길 수 있습니다. 트래픽이 천천히 발생하는 것을 즉시 확인할 수 있으며 대책에 대해 이야기해 보겠습니다. 아래에.

대응

일부 네티즌들은 원문을 읽고 판단하기를 꺼린다는 점을 감안하여 제출된 모든 백엔드 데이터는 IP 검사를 거쳤음을 강조하고 싶습니다 , 이 글에서는 이 경우 스와이프되는 IP를 처리하는 방법에 대해 설명합니다.

옵션 1: Ajax를 통해 비동기적으로 데이터 제출(잘못됨)

처음에는 프로모션 주소를 클릭하면 페이지를 파싱할 때 방문자의 IP, 시간 및 기타 정보가 백그라운드에 기록됩니다. 이 방법은 확실히 트래픽 브러싱 소프트웨어를 방지하기 어렵기 때문에 다음을 통해 데이터를 비동기적으로 제출하는 것을 고려했습니다. 아약스.

처음에는 단순히 http 요청을 시뮬레이션하는 것만으로는 js 스크립트가 실행되지 않을 것이라고 생각하면서 이러한 악성 소프트웨어를 과소평가했습니다. 그래서 첫 번째 해결책은 페이지가 로드된 후 ajax를 통해 비동기적으로 레코드 요청을 제출하는 것이었습니다. 실험 결과는 유효하지 않았습니다. 이 방법은 하위 레벨 로봇에만 유효합니다.

옵션 2: 요청된 클라이언트 브라우저 창 너비 또는 높이 결정(잘못됨)

솔루션 1에서 이러한 트래픽 소프트웨어는 단순히 http 요청을 시뮬레이션하는 것이 아니라 실제 브라우저를 통해 요청된다는 것을 추론할 수 있습니다. 그러나 내가 전화를 끊고 다른 사람의 트래픽 브러시를 "돕고 있었을 때"는 그렇지 않았습니다. 열려 있는 웹 페이지를 볼 수 있습니다. 패킷 캡처 도구를 통해서만 논스톱 요청을 볼 수 있으므로 이러한 트래픽 브러싱 소프트웨어는 브라우저 창을 숨기거나 브라우저 창을 매우 작게 설정하는 것 같습니다. Node.js를 사용하여 고객을 판단합니다. 현재 클라이언트에 열려 있는 브라우저 창 영역이 특정 값(가로 300px, 높이 200px 등)보다 큰지 여부, 이렇게 작은 영역을 사용하여 웹사이트를 보는 사람은 거의 없을 것이라고 생각합니다~) 하한값을 초과하는 경우에만 Ajax를 통해 제출됩니다.

결과가 여전히 유효하지 않아서 각 요청의 브라우저 유형과 창 크기를 기록하는 작은 프로그램도 작성했습니다. 결과적으로 요청한 브라우저의 가시 영역은 정상이었고 해상도도 훨씬 뛰어났습니다. 내 모니터가 아직도 높은데, 내 자신이 경멸스럽다...

옵션 3: 마우스 이벤트를 일반적인 액세스의 기초로 사용 (유효)

여러 번의 실험 끝에 우리는 이러한 로봇이 단순하지 않지만 결국 로봇이라는 결론에 도달했습니다. 그런 다음 mousemove, mousedown, mouseover 등과 같은 마우스 이벤트를 사용하여 로봇인지 확인하는 것을 고려하십시오. , 사용자가 클릭하도록 할 수도 있습니다. 버튼 등은 작업을 판단하는 기준으로 간주됩니다(물론 작업 경험도 고려해야 합니다). 다음은 간단한 스크립트입니다.

코드 복사 코드는 다음과 같습니다.