GN⁺: Bear가 CSS를 이용한 분석 방법
(herman.bearblog.dev)- Bear Blog이 CSS를 이용한 분석에 대한 기사, 속도, 효율성, 안정성에 초점
- Bear Blog, 광고 차단기의 취약성과 봇과 인간 트래픽을 구분하지 못하는 문제로 인해 클라이언트 측 JavaScript 사용을 피함
- 서버 로그를 이용한 분석의 한계에 대한 저자의 설명, 모든 트래픽을 동등하게 취급하고 봇 트래픽을 정확하게 식별하지 못함
- 저자의 해결책, 다음 코드를 사용하여 CSS로 읽기를 트리거:
body:hover { border-image: url("/hit/{{ post.id }}/?ref={{ request.META.HTTP_REFERER }}");}
. - 사용자가 페이지 위로 커서를 움직이거나 모바일에서 스크롤할 때 트리거되는 방법, 저자는 이것이 인간 트래픽의 신뢰할 수 있는 지표라고 믿음
- 시스템은 사용자-에이전트를 확인하여 봇이 아님을 확인하고, 브라우저와 플랫폼 정보를 추출하며, IP 주소와 날짜를 해싱하여 페이지의 고유한 "읽기"를 생성
- 시스템은 브라우저 쿠키나 서버에 독자에 대한 식별 정보를 저장하지 않음
- 이 방법의 한계 인정: 동일한 IP 주소에서 다른 기기로부터의 여러 읽기는 하나의 읽기로 계산됨
- 이에도 불구하고, 저자는 이 방법이 읽기 수를 정확하게 제공하며, 다른 많은 분석 캡처 형태보다 간단하다고 믿음
Hacker News 의견
- 기사의 저자는 IP 주소 해시를 사용하여 하루에 중복된 조회수를 방지하고, 각 페이지 조회를 기본적으로 고유하게 만든다는 점을 명확히 하였습니다. 하루가 끝날 때마다, 워커 작업은 조회 정보를 유지하면서 이들을 비웁니다.
- 한 댓글 작성자는 CSS를 트리거로 사용하여 분석하는 아이디어를 매우 멋지다고 생각하며, 페이지에 보이지 않는 사각형 그리드를 오버레이하여 마우스 추적에 사용하는 예를 공유합니다. 각각은 호버 시에 트리거되는 고유한 배경 이미지를 가지고 있습니다.
- 다른 댓글 작성자는 날짜와 IP를 단순히 해싱하여 IP 주소를 익명화하는 것을 보안 극장으로 비난하며, 암호화 해시가 빠르게 설계되어 IP 주소를 찾기 위해 무차별 대입 공격을 받을 수 있다고 지적합니다.
- 한 사용자는
body:hover
방법이 대부분의 "키보드 전용" 사용자와 포인터 장치를 사용하지 않는 사용자 에이전트(보조 기술)를 놓칠 가능성이 높다고 지적하며, 보다 포괄적인 접근법이 필요하다고 강조합니다. - 다른 사용자는 CSS 분석이 인기를 얻게 되면, 사용자들이 분석 전체 개념에 질려서 이를 우회하려는 시도도 있을 것이라고 믿습니다.
- 일부 댓글 작성자들은 분석을 위한 CSS의 영리한 사용을 칭찬하며,
<img>
태그를 사용하여 가짜 이미지를 로드하는 등 비슷한 방법에 대한 자신의 시도를 공유합니다. - 한 사용자는 비상업적 맥락에서 개인 블로그의 경우 분석 데이터를 수집하는 목표에 대해 의문을 제기합니다.
- 다른 사용자는 CSS 분석을 사용하는 대신 HTTP 서버에서 이 정보를 얻는 것을 제안합니다.