2012-04-04 3 views
1

У меня есть контактная форма без какой-либо защиты от спама на моем сайте, и я получаю много спама, я собираюсь добавить защиту от спама, я знаю, что могу сделать это с PHP, но если я остановил форму от проверки, если вопрос с антиспамом был неправильным с использованием jQuery, этого было бы достаточно? или делать спам-боты обхода мер безопасности javascript?Email anti spam PHP

+3

CAPTCHAs будет делать свою работу – seferov

+1

Если вы форма представить без JS, бот будет найти способ, чтобы игнорировать его. Вам нужна какая-то проверка на стороне сервера. Captchas были нормой в течение долгого времени и должны хорошо поработать на некоторое время, но я стал большим поклонником концепции, связанной с янапчей. Http://www.nucaptcha.com/demo – AlexC

+0

Спасибо @Ferhad my ownly Проблема заключается в том, что form-process.php отсутствует на моем сервере, и поэтому я не могу его получить ... – Liam

ответ

7

Один реальный простой трюк, чтобы добавить поле ввода с помощью CSS стиля отображения нет. Затем проверьте, заполнено ли это поле. Поскольку он скрыт, только боты заполнят его. В php вы можете проверить, заполнено ли это поле, и если да, заблокируйте его.

2

2 вещи, которые я делаю много, что, кажется, чтобы устранить почти все спам:

  1. Добавить текстовое поле со стилем, который display:none, когда страница представляется, что поле должно быть установлено, но пустой. Если он не пуст, это от бота.
  2. Не устанавливайте корректное действие формы, а затем используйте JavaScript для правильной установки. (Пример ниже)

Кроме того, как обычно упоминалось, хороший капчу обычно выполняет трюк.

<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>