사장님은 아침마다 광고 도배 문의를 지우다, 진짜 손님 한 통을 같이 버린다 — 작은 회사 웹사이트 문의 폼 스팸 차단(캡차·허니팟) 설계의 5가지 원칙

사장님은 아침마다 광고 도배 문의를 지우다, 진짜 손님 한 통을 같이 버린다 — 작은 회사 웹사이트 문의 폼 스팸 차단(캡차·허니팟) 설계의 5가지 원칙
대표 이미지

아침에 문의함을 열면 진짜 손님 한 통 사이에 대출 광고, 도배성 링크, 정체불명의 영문 문의가 수십 통씩 끼어 있다. 지우다 지치면 손이 빨라지고, 그러다 진짜 문의 하나를 스팸과 함께 통째로 삭제한다. 스팸을 방치하면 문의함이 못 쓰게 되고, 너무 세게 막으면 손님이 폼 앞에서 돌아선다. 손님을 불편하게 하지 않으면서 스팸만 걸러내는 다섯 가지 원칙을 정리했다.

1. 손님 눈에 안 보이는 함정, 허니팟부터 놓는다

스팸의 대부분은 사람이 아니라 자동 프로그램(봇)이 보낸다. 봇은 폼의 모든 입력칸을 기계적으로 채우려 한다. 그래서 사람 눈에는 보이지 않지만 봇은 채우고 마는 가짜 입력칸을 하나 숨겨 두는 것이 가장 손쉬운 방어다. 이 칸이 채워져서 들어오면 봇으로 판단해 조용히 버린다. 손님은 존재조차 모르고, 캡차처럼 손님에게 숙제를 내지 않는다는 점이 가장 큰 장점이다.

2. 캡차는 최후의 수단, 그것도 조용한 것으로

"신호등을 모두 고르세요" 같은 캡차는 확실하지만, 손님에게 문턱을 하나 더 만든다. 문의 하나 넣자고 그림 퍼즐을 풀어야 한다면 이탈이 늘어난다. 꼭 필요하다면 손님이 아무것도 클릭하지 않아도 뒤에서 자동으로 판별하는 방식을 쓴다. 눈에 보이는 퍼즐은 스팸이 극심할 때만 켜고, 평소에는 보이지 않게 두는 편이 전환율을 지킨다.

3. 시간과 행동으로 사람과 봇을 가른다

사람은 폼을 읽고 생각하며 입력하지만, 봇은 페이지가 열리자마자 0.5초 만에 제출한다. 폼이 열린 시각과 제출된 시각의 간격을 재서 지나치게 빠른 제출을 걸러낼 수 있다. 마찬가지로 짧은 시간에 같은 곳에서 수십 번 제출되면 사람의 속도가 아니다. 손님은 전혀 느끼지 못하는 사이, 봇 특유의 기계적인 패턴만 조용히 차단된다.

4. 서버에서 한 번 더 검증한다

화면(브라우저)에서의 검사는 우회되기 쉽다. 진짜 방어선은 서버에 있어야 한다. 이메일 형식이 맞는지, 본문에 링크가 비정상적으로 많지 않은지, 특정 키워드가 반복되는지를 서버에서 한 번 더 확인한다. 화면 검사는 손님 편의를 위한 것이고, 서버 검사는 진짜 방패라고 나눠 생각하면 설계가 명확해진다.

5. 거른 스팸도 바로 버리지 않는다

완벽한 필터는 없다. 진짜 손님이 스팸으로 잘못 걸리는 경우가 반드시 생긴다. 그래서 스팸으로 분류한 문의도 곧장 삭제하지 말고 별도 폴더에 며칠 보관했다가 지우는 구조를 권한다. 며칠에 한 번만 훑어봐도, 놓칠 뻔한 진짜 문의를 건져낼 수 있다. 필터는 손님을 내치는 문지기가 아니라, 사장님의 시간을 아껴 주는 도구여야 한다.

손님은 그대로, 사장님만 편하게

좋은 스팸 차단은 손님이 눈치채지 못하는 곳에서 작동한다. 허니팟과 시간 검사로 봇을 조용히 거르고, 서버에서 한 번 더 확인하고, 걸러낸 것도 잠시 보관한다. 이 네다섯 단계만 갖춰도 문의함은 다시 진짜 손님의 목소리로 채워진다. CYAN 에이전시는 작은 회사 웹사이트를 만들 때 문의 폼에 이런 스팸 방어를 기본으로 심어, 사장님이 광고 문자를 지우는 대신 손님에게 답하는 데 시간을 쓰도록 설계한다.