2011-08-01 2 views
3

사람들이 친구를 초대 할 수 있도록 사이트에 기능을 추가하고 있습니다. 저는 쉼표로 구분 된 목록을 수락하고 Gmail 연락처를 가져올 수있었습니다."이메일을 통해 친구 초대"기능 ... 어떤 보안 문제가 걱정해야합니까?

제 질문은, 누군가가 내 이메일에 일련의 이메일을 올리는 것과 본질적으로 A) 내 메일 서버를 압도하거나 B) 많은 사람들을 스팸하는 것을 막는 것입니다. 분명히 captcha가 도움이되지만, 우리의 위험을 제한 할 다른 방법이 있다면 궁금 할 것입니다 ...

연락처/etc가 모두 프론트 엔드에 있기 때문에 사이트 암호화 키를 사용하여 해시하는 방법이 없습니다. .. 그래서 우리의 "보낸 사람"스크립트에 보내기 전에 이메일을 해시하는 나의 초기 생각은 아마도 작동하지 않을 것이다 ...

이것에 대한 조언이나 도움이나 방향에 대해 많은 감사를드립니다!

+0

captcha, 세션 제한, ip 제한, 제한 시간. –

+1

당신이 말한대로 잘 captcha 필요 reCAPTCHA : http://www.google.com/recaptcha – Pehmolelu

답변

3

맨 먼저 : 일반 발신자 스크립트를 사용하지 마십시오! 외부 요청에서 수신자와 메시지 본문을 가져 오는 스크립트는 보안 문제입니다. 보안은 어려우며 실수를해서 스팸 발송자가 될 수 있습니다. 특정 전자 메일 만 보낼 수있는 여러 스크립트를 만드는 것이 더 좋습니다. 예 : 전자 메일 만 보내도록 하드 코딩되거나 사전 구성된 contact-us 스크립트 하드 코딩되거나 미리 구성된 메시지 템플릿이 포함 된 말하기 (tell-a-friend) 스크립트.

다음으로 사용자가 제공 한 것을 전자 메일 헤더 (메시지 제목,/답장 주소 등)에 넣는 것에 매우주의해야합니다.

[email protected]\nBCC:[email protected] 

지금 나는 당신의 접촉을 통해 다른 사람에게 스팸 메일을 해요 : 물론, 내가 내 이메일 주소로이를 입력하면 사용자의 전자 메일 주소,하지만 자동 응답-로 설정하는 것이 좋다 양식, 비록 그 양식은 당신에게 우편물을 보낼 예정이다.

사용자는 메일 헤더 (또는 메시지)에 넣을 수있는 모든 것을 SQL 쿼리에 포함 된 내용을 다루는 것처럼 의심스럽게 다루어야합니다.

+0

이것은 중대한 충고, 나는 당신에게 대단히 감사합니다! 이것은 내가 찾던 조언이다! –

관련 문제