사이트에 이메일 링크 안전하게 숨기는 방법
현대의 디지털 세계에서는 온라인 존재감을 갖는 것이 필수적이지만, 동시에 보안과 사생활 보호 또한 매우 중요합니다. 웹사이트를 소유하고 있는 사람들이라면 대부분 사용자들과 연결되도록 이메일 주소나 링크를 사이트 어딘가에 포함시키곤 하죠. 문제는 자동적으로 정보를 수집하는 스파이더 및 봇 프로그램이 이러한 공개된 주소들 중에서 악용할 수 있는 것들을 찾은 후 스팸 메시지를 보내는 데 사용한다는 점입니다. 오늘 저희는 여러분이 이를 효과적으로 방어하며, 웹사이트에 이메일 링크를 안전하게 **cloaking 기법**(가림)으로 숨기는 법을 소개할 겁니다.
Email Harvesting란 무엇인가?
이를 이해하려면, 먼저 왜 이런 문제가 발생하고 어떤 형태로 피해가 생기는지를 아는 것이 필요합니다. Email harvesting(이메일 수집)란 웹스크레이퍼 또는 봇을 사용해 웹사이트에서 **이메일 주소 정보를 무단으로 가져가는 행위**를 말합니다.
- 봇 프로그램은 모든 페이지의 내용을 정기적으로 긁어서 분석한다
- 이름@email형식을 인식한 후 데이터베이스에 저장됨
- 저장된 정보는 자동화 시스템 또는 스팸 발신 서비스에서 재사용 된다
즉 일반 사용자는 자신도 모르는 새 해커들의 리스트에 올려지는 경우가 생길 수 있습니다. 다음 단락에서 이것이 얼마나 위험성을 동반하는지 설명할 수 있습니다.
- 스팸메일의 폭주
- 보이스 피싱이나 피셔링 위협 증가
- 기업 비공식 이메일 유출 등 조직 리스크 증가
HTML에서 직접 코드 숨기기 - 기초적인 Cloaking 전략
Cloaking은 본문에 실리는 콘텐츠와 서버가 보낸 결과물을 다른 것으로 표현함으로써 사용자에는 특정 요소가 나타날 수 있지만, 크롤러/스크래핑 머신들에게는 다른 내용 또는 전혀 감춰놓는 전략입니다.
일부 HTML 개선 방법과 CSS 또는 JavaScript로 간단한 cloaking 처리가 가능하지만 이 방법은 오늘날 더 고도화 된 수집 봇들 앞에서는 충분히 강력하다고 보기 어렵습니다.
기법 | 강점 | 단점 |
---|---|---|
.hide { display:none } | ✔ 가볍고 빠른 실행 | ✘ 봇 탐지율 높음 |
<noscript> 내 이메일 배치 | ✔ 간결성 좋음 | ✘ 봇이 JS 없음을 가정 |
Base64 문자열 → JS 해석으로 복원 | ✔ 보완 가능성 | ✘ JS 의존 |
JavaScript 역방향 로딩 방식으로 보안 상승
이 방법은 가장 널리 알려져 있으므로 광범위한 범위에서 채택되는 추세입니다.
<a href="#" id='mail-link'>Contact Me </a>