2014-12-17 2 views
0

У меня есть форма на моем веб-сайте, которая начала отправлять через много спама, даже если Captcha на нем работает.Веб-форма с использованием PHP отправляет спам даже с CAPTCHA

Я заметил, что спамер (пытаясь установить ссылки на дешевые тренировочные ботинки, даже если наша форма не размещена в блоге) многократно использует текст переписки при заполнении формы.

Мне нужен способ проверить, является ли запись одинаковой для трех полей формы и отклоняет почту в этой точке. Он дошел до того, что нам не хватает подлинных запросов.

Я попробовал чек на пустую скрытую форму поля обнаружения спама, и это не сработало

Я использую стандартный сценарий, используя генератор публичного домена изображения под названием CaptchaSecurityImages.php которая хорошо работала до сих пор здесь пример СПАМ

Submit: Submit  
Name: T Shirt Women Summer  
Email: *******@gmail.com 
Address Line 1: ksjj22 
Address Line 2: ksjj22 
Town: ksjj22  
City: ksjj22  
Postcode: ksjj22  
Telephone: ksjj22  
Make: ksjj22  
Model: ksjj22 
Registration: ksjj22 
Collection Date: ksjj22 
Security code: ksjj22 
Other information: Great post but I was wanting to know if you could write a litte more on this topic? I'd be very grateful if you could elaborate a little bit further. Cheers! 
<a href="spam web address" >T Shirt Women Summer</a> [url=spam web address]T Shirt Women Summer[/url] 

любая помощь с благодарностью получена.

+4

звучит как ваш Captcha не достаточно хорошо, или это реальный человек слишком много времени .... .......... – putvande

+0

Вы уверены, что письма приходят из вашей формы? Причина, по которой я спрашиваю, заключается в том, что у нас была одна и та же проблема, но они просто подражали нашей почте и не отправляли их через нашу контактную форму. – Mainz007

+0

Что у вас CAPTCHA? –

ответ

3

Я использую стандартный сценарий с использованием генератора изображений общественного достояния под названием CaptchaSecurityImages.php

Более широкое распространение вашего Turing тест, тем больше шансов боты были явно ориентированы, и в состоянии сломать это. Сценарии распознавания изображений на удивление продвинуты и становятся все более совершенными. Создание образа «жесткий», чтобы читать на компьютере, на удивление трудно в 2014.

То, что я сделал несколько небольшой сайтов, это сделать:

Please enter the number 42 here to prove you're a human: [ ] 

Это работает на удивление хорошо, так далеко. В коде все, что вам нужно сделать, это проверить, соответствует ли число, поэтому его очень легко реализовать и будет работать для всех ваших клиентов (включая тех, кто может быть слепым или иметь другие потребности в доступности), что не всегда случай с тестами Тьюринга на основе изображений («CAPTCHA» - это, по-моему, хип-слово).

Это работает, потому что синтаксический анализ строки текста, определение смысла и предоставление правильного ответа по-прежнему представляют собой сложную проблему для компьютеров (хотя это может измениться и в будущем), поэтому даже очень простой вопрос, такой как этот будет достаточно.

Вы также можете расширить это, и задавать простые вопросы, такие как «В каком году это» или «сколько шесть на семь». Вы хотите убедиться, что ваша целевая аудитория имеет хорошие изменения, фактически зная ответ.

Вы можете, конечно, чередовать все это случайным образом. До сих пор мне не приходилось это делать, и я бы рекомендовал начать, просто задав простой вопрос.

Обратите внимание, что это будет работать только для сравнительно небольших сайтов. Как только ваш веб-сайт или продукт достигнет определенного размера, он становится достаточно интересным, чтобы нацелиться явно; в этот момент человек садится и пишет бот, чтобы ответить на все ваши вопросы.
Однако из вашего описания я думаю, что ваш сайт «достаточно мал» для этого.

+0

Я не самый лучший PHP-программист, есть простой способ сравнить входы и отклонить почту без уведомления отправителя –

+0

@PaulPayne Самый простой способ - сделать if if ((int) $ _POST ['turing_test']!) {exit (1); } ', но вы, вероятно, захотите показать ошибку в случае, если опечатки – Carpetsmoker

+0

Произошла небольшая смена, если номер телефона равен коду captcha, как это происходит, выходы кода, похоже, работают до сих пор благодаря вашей помощи с этим –

3

Возможно, вы также захотите осуществить HoneyPot. Основная идея Honeypot состоит в том, чтобы скрыть пустую форму ввода. Спам-боты будут заполнять каждое поле ввода некоторым значением, даже если оно скрыто с помощью css. Затем вы можете позвонить isempty() в форму отправки php. Если его нет, тогда у вас есть спам. Это бесплатная альтернатива capta.

Во всяком случае, это не мешает злоумышленникам рассылать спам, если они настроили бота специально для вашего сайта. Если вы все еще получаете атаки. Возьмите IP-адрес того, кто отправляет информацию, затем заблокируйте их, если они отправляют более 5 раз. И если у вас есть IP-адрес повторного нарушителя, вы можете полностью заблокировать этот IP-адрес от доступа к сайту.

+0

Что касается доступности для слепых? –

+0

HI Я попробовал скрытое поле, и мы все еще получаем SPAM –

+0

Попробуем проверку IP, начиная с сегодняшнего дня. Спасибо –

0

В результате я обнаружил, что для обнаружения нежелательной почты я использовал следующий код. Для проблемы, с которой мы сталкиваемся, которая, по-видимому, является одним или двумя фактическими людьми, вводящими информацию в форму на нашем сайте, следующее указывает на использование кода captcha в поле телефона (он использовался для большинства полей) и сбрасывает скрипт из предотвращения наш почтовый ящик наполняется СПАМ (надеюсь, спамер не знает, что это так)

$Telephone = $_POST['Telephone']; 
$Security_code = $_POST['security_code']; 

if ($Telephone == $Security_code) 

    header("Location: /"); 
else