경매 서비스에서 자동화 프로그램이 새로고침과 입찰을 반복적으로 시도하는 문제가 있다면, 새로고침 자체를 서버에서 관리하는 방식으로 대응할 수 있습니다.
일단, 입찰자 외의 입찰 리스트는 공개하지 않는 것을 원칙으로 둡니다.
(저처럼 입찰 리스트를 크롤링이 가능한 사람이 있다면 매크로 설정시 각 회원들의 입찰 참여 횟수를 파악해서 매크로로 의심되는 사용자가 매크로들의 횟수가 끝날때까지 기다렸다가 매크로를 구동할수도 있으니까요)
방식은 간단합니다.
경매 페이지에 접속하거나 새로고침이 발생할 때마다, 서버로 해당 정보(경매 상품, 접속 시각, 누적 횟수, 회원 코드 등)를 전송해 저장합니다. 회원 코드와 IP는 필수로 전송하고, IP나 회원 코드 중 일치하는 것이 있다면 동일한 사람이라고 보도록 설정해야 합니다. 또한, DB에 데이터를 전송하는 것은 경매 창의 입찰버튼이 활성화 되기전에 값이 먼저 전송이 되어야 합니다.
이 값은 매일 00시에 초기화되며, 브라우저 쿠키나 캐시를 지워도 서버에 기록된 내용은 유지되기 때문에 회피가 어렵게 만들 수 있죠.
또한, 여기에 매일 랜덤하게 설정되는 기준을 적용할 수 있습니다.
예를 들어, 하루 단위로 “얼마나 자주 새로고침을 해도 괜찮은지”를 시스템이 무작위로 정해두는 방식입니다. (하루는 1시간에 60회 이상 새로고침 할 경우, 하루는 30분에 40회 이상 새로고침 할 경우 등)
사람이 사용하는 범위에서는 문제 없는 수준이지만, 일정한 간격으로 반복 요청을 보내는 매크로에게는 예측하기 어려운 기준이 됩니다. 새로고침 제한이 얼마나 되는지 알 수 없기에 반복적인 새로고침을 설정하기 되게 어려워지는거죠.
이 기준을 초과하는 행동이 감지되면, 해당 회원에게만 짧은 시간 동안 임시 입찰 제한을 적용할 수 있습니다. 예를 들면 5초에서 15초 사이의 랜덤한 지연 시간을 부여하는 방식입니다.
겉으로는 입찰 버튼이 정상적으로 보이지만, 제한 시간 안에서는 서버가 입찰 요청을 받아들이지 않도록 처리하는 것입니다. (이미 전송된 새로고침시 전송된 리로딩 시간과 비교하여 랜덤값과의 시간 차를 계산하여 지연 시간 내일 경우 요청을 거절) 물론 횟수는 똑같이 차감을 되구요.
이렇게 되면 매크로는 “남은 몇 초에 맞춰 자동 입찰” 같은 동작을 안정적으로 맞추기 어렵습니다. 기준치와 제한 시간이 매일 바뀌기 때문에, 자동화 프로그램이 이에 맞추려면 여러 계정을 소모하거나 지속적으로 조정해야 하는 부담이 생기게 됩니다.
반면 일반 사용자는 자연스러운 범위에서 새로고침하는 경우가 대부분이기 때문에 거의 영향을 받지 않습니다.
종합적으로 보면, 새로고침 횟수를 서버에서 기록하고, 일정 기준을 초과한 경우 임시 제한을 걸어주는 방식만으로도 매크로의 정교한 타이밍을 크게 흔들 수 있습니다.
일반 사용자의 이용 경험은 그대로 두면서, 자동화된 반복 패턴만 효과적으로 억제할 수 있다는 점에서 충분히 실현 해볼만한 시스템이 될 수 있겠죠.
5줄 요약
1. 경매 페이지 새로고침 정보를 서버에서 기록해 회원·IP 기준으로 반복 패턴을 식별한다.
2. 새로고침 데이터는 매일 00시에 초기화되며 브라우저 조작으로는 회피가 어렵다.
3. 하루마다 새로고침 허용 기준을 무작위로 설정해 자동화 프로그램이 예측하기 어렵게 만든다.
4. 기준을 초과한 경우 5~15초의 랜덤 입찰 지연을 적용해 매크로의 타이밍 맞추기를 방해한다.
5. 일반 사용자는 크게 영향을 받지 않으면서 매크로만 효과적으로 억제할 수 있는 방식이다.
-----------------
물론, 일반 회원들도 입찰 빠르게 해보겠다고 새로 고침을 남발하다가 임시 제제 걸려서 불편함을 겪을 수 있겠으나, 매크로 방지를 위해서는 지속적인 모니터링? 로그 탐색 등? 보다 효과적이지 않을까 싶네요.




고
[