수강신청 매크로 잡기 (대학교 전산실)
예전에 수강신청 관련 게시글을 썼는데 오랜만에 다시 글을 남깁니다.
이전에 트래픽 문제를 해결하기 위해 솔루션을 도입하고, 프로시저 최적화를 통하여 학생들이 더 빠르게 수강신청할 수 있도록 환경을 개선 하였습니다. 트래픽을 잡기 위해 넷퍼넬이라는 솔루션을 사용 했는데 자동으로 트래픽을 분배해 주는 점에서 효과적이었습니다.
이번에는 매크로 잡기라는 키워드를 생각하고 있습니다.
현재 매크로를 탐지하는 기본적인 로직은 트랜잭션 횟수 기반 로직입니다. 예를 들어 특정 사용자가 15분 동안 1000번 이상의 요청을 보내면 매크로로 보내는 방식입니다. 하지만 해당 방식은 사람들이 수동으로 눌러 매크로로 오인하는 사례가 발생했습니다.
또한 순간적인 트래픽만으로 매크로를 판단하기에는 수강신청 초반에 학생들이 빠르게 클릭하기 때문에 정확한 탐지가 어렵습니다.
간단하게 일정 횟수 이상 반복 시 “로봇이 아닙니다.”라도 실행하도록 바꿔야 하나 고민이 됩니다.