채택완료
첨부파일 다운로드 할때, 이메일 등록, 이메일...
해외 무료 사이트들 종종 보면
1. free download 걸어두고, 첨부파일 클릭 시 e-mail 입력하라고 나옴.
2. 입력한 e-mail로 download 가능한 페이지 링크 보내줌
3. 페이지에 접속해서 첨부파일 download 받음
이런 구조로 되어있던데, 이런거 그누보드에서도 가능한가요?
...다운로드 받으려면, 우리에게 이메일을 제공해라 뭐 이런것같은데..
1. free download 걸어두고, 첨부파일 클릭 시 e-mail 입력하라고 나옴.
2. 입력한 e-mail로 download 가능한 페이지 링크 보내줌
3. 페이지에 접속해서 첨부파일 download 받음
이런 구조로 되어있던데, 이런거 그누보드에서도 가능한가요?
...다운로드 받으려면, 우리에게 이메일을 제공해라 뭐 이런것같은데..
답변 9개
채택된 답변
+20 포인트
네, 그누보드에서도 충분히 구현 가능합니다.
말씀하신 방식은 보통 이메일 게이트(Email Gate) 또는 게이트 콘텐츠(Gated Content)라고 부릅니다.
구현 방식은 간단합니다.
1. 첨부파일 다운로드 클릭 시 이메일 입력창 표시
2. 이메일 입력 후 다운로드 인증 링크 발송
3. 이메일로 받은 링크에 접속하면 다운로드 허용
그누보드 기본 기능은 아니지만, 다운로드 처리 부분과 메일 발송 기능을 연동하면 구현할 수 있습니다.
다만 단순히 다운로드 버튼만 변경하면 기존 첨부파일 주소로 우회할 수 있으므로, 서버에서도 인증 여부를 확인하도록 처리해야 합니다.
이메일로 발송하는 링크에는 일회용 토큰이나 유효기간을 설정하는 것이 좋습니다.
그리고 수집한 이메일을 마케팅 목적으로 활용하실 계획이라면 개인정보 수집·이용에 관한 안내와 별도의 광고성 정보 수신 동의도 고려하셔야 합니다.
기술적으로는 크게 어려운 기능은 아닙니다. 기존 그누보드 구조를 유지하면서도 충분히 구현 가능합니다.
앞선 답변에 한 가지 보완하면, 메일에 넣은 링크를 처음 여는 순간 바로 1회 사용 처리하지 않는 편이 좋습니다. 메일 보안 서비스가 수신자보다 먼저 링크를 검사할 수 있어, 사용자는 누르지도 않았는데 만료됐다고 나올 수 있습니다.
링크를 GET으로 열 때는 파일명과 유효시간을 보여주는 안내 화면만 열고, ‘다운로드’ 버튼의 POST 요청에서 서버가 토큰을 검증해 파일을 전달하도록 구성하시면 됩니다. 단순한 자동 방문으로 토큰이 소진되는 문제를 줄이는 방법이며, 모든 자동 접근을 막는다는 뜻은 아닙니다.
토큰은 예측하기 어려운 난수로 만들고 DB에는 토큰의 해시, 대상 파일, 만료시간, 사용 여부를 저장하는 방식을 권합니다. 일회용이라면 검증과 사용 처리를 DB에서 한 번에 처리해야 동시 요청으로 중복 사용되는 일을 막을 수 있습니다. 전송 중 끊겼을 때 다시 발급받는 방법도 함께 두세요.
같은 이메일과 IP에서 메일을 반복 발송하지 못하도록 횟수 제한도 필요합니다. 링크를 전달받은 다른 사람도 사용할 수 있으므로, 본인만 받아야 하는 자료라면 로그인한 계정과 발급 대상이 일치하는지도 확인해야 합니다.
구현 시 참고하실 공식 문서입니다.
Microsoft 메일 링크 검사 안내
OWASP URL 토큰 지침 — 비밀번호 재설정용 지침이지만 난수, 만료, 일회용 처리와 발송 제한 원칙을 다운로드 링크에도 참고할 수 있습니다.
답변을 작성하려면 로그인이 필요합니다.