테스트 사이트 - 개발 중인 베타 버전입니다

폼메일 이름칸에 영문을 쓰면 경고창 띄우게 할 수 있나요? 채택완료

하오나나 3년 전 조회 1,521

안녕하세요.

폼메일을 쓰고 있는데 외국에서 자꾸 스팸메일을 보내네요.

보니까 공통점이 전부 영문으로만 작성해서 보내고 있는데 

이름칸에 영문을 쓰고 submit을 누르면 경고창을 띄우게 할 수 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
포이치
3년 전

submit 되기전에 체크하면 됩니다.

 

var eng_str = /[a-zA-Z]/;

var tname= $('.tname').val(); //이름 input

 

if(eng_str.test(tname)){

//영문만 있을경우 submit 중단.

return false;

}

 

하지만 외국애들이 폼에다가 submit 때리는게 아니라

받는 action 페이지에 파라메터로 쏴버릴거에요.

즉 폼을 거치지 않고 이메일 쏘는 action url 로 바로 보내는거죠.

이 경우에는 스크립트등과 관계없으니

받는 페이지에서 제어하세요.

받는페이지 상단에

</p>

<p>if(preg_match('/^[a-zA-Z]$/', $_POST['name'])) {

//이름이 모두 영문이면 메일발송 없이 중단.

exit;

}</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하오나나
3년 전
감사합니다. 일단 상단에 내용을 붙어넣었습니다.
스팸이 안왔으면 좋겠네요. ^^

댓글을 작성하려면 로그인이 필요합니다.

플라이
3년 전

폼메일로 스팸을 보내는게 아니라 해당 전송부분과정에 폼데이터를 프로그램을 돌려 스팸으로 발송되는듯 하니 이전 페이지가 해당 도메인의 주소가 아니면 발송이 안되도록 수정을 하셔야 할듯 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하오나나
3년 전
답변 일단 감사합니다. 제가 개발자가 아니라서 어떻게 하는건지 혹시 소스좀 알려주실 수 있으신가요? ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

exception
3년 전

해당 input박스에 정규표현식으로 한글이 아닌경우를 체크해서 보여주면됩니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하오나나
3년 전
감사합니다. 시도해보겠습니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인