2012-04-04 2 views
1

나는 내 사이트에 스팸 차단 기능이없는 연락 양식을 가지고 있으며 많은 스팸 메일을 받고 있습니다. 스팸 방지 기능을 추가 할 예정입니다. 스팸 방지 질문이 jQuery를 사용하여 잘못 되었다면 유효성 검사에서 양식을 중지했습니다. 또는 스팸 봇은 자바 스크립트 보안 조치를 우회합니까?이메일 스팸 방지 PHP

+3

captcha가이 작업 – seferov

+1

을 할 것입니다. 어떤 종류의 서버 측 점검이 필요합니다. Captchas는 오랫동안 표준이었고 잠시 동안 좋은 일을해야하지만, nucaptcha 뒤에있는 개념의 큰 팬이되었습니다. http://www.nucaptcha.com/demo – AlexC

+0

Thanks @Ferhad my ownly 문제는 내 서버에 form-process.php isnt이므로 액세스 할 수 없습니다 ... – Liam

답변

7

한 실제 간단한 트릭은 디스플레이 없음의 CSS 스타일이있는 입력 필드를 추가하는 것입니다. 그런 다음 해당 필드가 채워 졌는지 확인하십시오. 그것이 숨겨져 있기 때문에, 봇이 그것을 채울 것입니다. php에서 필드가 채워 졌는지 확인할 수 있습니다. 그렇다면 차단하십시오.

2

2 일 나는 거의 모든 스팸을 제거하는 것 많이 수행

  1. 페이지가 제출 될 때, display:none 인 스타일로 텍스트 필드를 추가, 즉 필드가 설정되어 있지만 비어 있어야합니다. 비어 있지 않으면 로봇에서 온 것입니다.
  2. 양식의 동작을 올바르게 설정하지 말고 JavaScript를 사용하여 올바르게 설정하십시오. (아래 예 참조)

또한 앞에서 설명한 것처럼 일반적으로 좋은 captcha가 트릭을 수행합니다. 당신이 JS없이 제출 양식을, 봇은 그것을 무시 할 수있는 방법을 찾을 수 있다면

<form style="display:none;" id="myform" action="http://www.google.com"> 
    ... 
</form> 
<script> 
var obj=document.getElementById('myform'); 
obj.action='realaction.php'; 
obj.style.display='block'; 
</script> 
<noscript>You must have JavaScript enabled to contact us</noscript>