2013-11-01 4 views
-1

내 웹 사이트에 이메일, 댓글 및 스팸 방지와 같은 3 개의 필드가있는 연락처 양식이 있습니다. 전자 메일 및 설명 필드가 작동합니다. 스팸 필드는 온라인으로 작동하고 사람들을 멈 춥니 다 ("스팸 테스트에 실패했습니다"라는 메시지가 표시됨). 그러나 나는 여전히 잘못된 대답으로 이메일을받습니다.스팸 발송자가 내 연락처 양식에서 잘못된 대답으로 간단한 스팸 방지 조치를 건너 뜁니다.

스팸 질문은 "이 풍선이 어떤 색입니까"(파란색 풍선이있는 그림)입니다.

도움을 주시면 감사하겠습니다.

<script type="text/javascript"> 
function hgsubmit() 
{ 
if (/^\[email protected][a-z0-9_.-]+\.[a-z]{2,6}$/i.test(document.hgmailer.email.value) == false) alert ("A valid email address is required."); 
else if (/\S+/.test(document.hgmailer.comment.value) == false) alert ("Your email content is needed."); 
else if (/blue|Blue/.test(document.hgmailer.spam.value) == false) alert ("You failed the spam test."); 
else { 
    document.hgmailer.submit(); 
    alert ('Thank you!\nYour email is sent.'); 
    } 
} 
</script> 

중요한 점은 FormMail입니다.

+0

항상 같은 색상입니까? 매우 우회하기 쉬운;) – daniel

+0

당신은 그것이 효과가 있다고 말한다.. 그러나 그것은하지 않는다? 전자 메일을 받는다는 것은 무엇을 의미합니까? –

+1

자바 스크립트입니다. 스팸 봇은 아마도 js를 실행하지 않고 있습니다. –

답변

3

스팸 봇은 페이지에서 스크립트를 실행하지 않고 데이터를 게시 할 수있는 양식의 HTML 코드를 긁어내어 Javascript를 사용하는 사람들로부터 자신을 보호 할 수 없습니다.

이러한 것을 방지하려면 양식에있는 내용에 따라 요청을 거부 할 수있는 코드가 서버 측에 있어야합니다. Javascript를 사용하여 특정 정보를 필드에 넣을 수 있으며, 서버에 도착했을 때 누락 된 정보가 있으면 브라우저에서 게시하지 않았 음을 알 수 있습니다.

+0

감사합니다. Guffa. 당신의 사고 방식은 나에게 "blue"라는 단어가없는 이메일을 삭제함으로써 Thunderbird (메일 응용 프로그램)를 통해 이메일을 필터링 할 수 있다는 생각을 갖게합니다. – Harry