Помощь Спам из формы обратной связи

В общем, надоело, решил это на уровне сервера, ковыряться в пхп что-то недосуг.
Убрал вывод формы обратной связи на странице контактов, чтобы убедиться, что клиенты не будут отправлять (до этого получал пару писем в год - невелика потеря)

Далее отсекаю POST запросы на странице контактов в nginx
location /contact-us { limit_except GET { deny all; } }

после этого добавляю айпишник который пытался вызвать метод POST в список для блокировки.

для этого нужно создать скрипт с таким содержимым:
Код:
sudo tee /root/generate-deny-post.sh <<-'EOF'
cat /var/log/nginx/site.access.log | grep contact-us | grep POST | grep -P -o "\d+\.\d+\.\d+\.\d+" | uniq | sed "s/.*/deny &;/" >> /etc/nginx/conf.d/deny-post.cfg
#cat /etc/nginx/conf.d/deny-post.cfg | awk '! a[$0]++' > /etc/nginx/conf.d/deny-post.tmp
yes | mv /etc/nginx/conf.d/deny-post.tmp /etc/nginx/conf.d/deny-post.cfg
nginx -s reload
EOF
и добавить его в крон с интервалом минут в 5 - 10
(не забудьте поменять имя файла логов)
Код:
sudo echo "*/5 * * * * root sh /root/generate-deny-post.sh" > /etc/cron.d/deny-post
добавить путь к файлу в конфиг nginx:
include /etc/nginx/conf.d/deny-post.cfg;

команда чтобы просмотреть айпишники с которых вызывается POST:
cat site.access.log | grep contact-us | grep POST | grep -P -o "\d+\.\d+\.\d+\.\d+" | uniq

вместо того чтобы банить по POST, можно грепать по user-agent
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
в остальном всё то же самое.

плюс такого варианта - можно оставить форму обратной связи.
минус - наш добрый друг в любой момент может изменить user-agent, так что это не панацея.
если подумать, то можно найти ещё способы как выуживать и банить автоматом спамерские айпишники, например - анализируя пост-запросы. Но это уже экзотика ))

список ip адресов могу обновлять и выкладывать где-то, если это кому-то нужно.
 
Последнее редактирование:
Добрый день, кто делал скрытые поля в форме регистрации, для отсекания автозаполнения роботами, поделитесь как?
 
Добрый день, кто делал скрытые поля в форме регистрации, для отсекания автозаполнения роботами, поделитесь как?
на предидущей странице выкладывали же :)
bug fix на эту тему - Для просмотра ссылки Войди или Зарегистрируйся
открываете Files changed и смотрите, что куда добавить
 
Спасибо, всё не успеваю просматривать:)
 
Возможно, как вариант, попробовать изменить количество вводимых в форму обратной связи символов? Для клиента, обычно, не требуется написание длинных писем и все ограничивается "перезвоните", или ответьте по заказу такому-то... Если кто-то подскажет как это сделать, сделаю и отпишусь по результатам. Изменение contact-us, пока, помогло.
 
Я сделал все очень просто, изменил URL для страницы с формой обратной связи в настройках сео, спам прикатился!
 
На что тогда боты ориентируются, интересно, рыщут по сайту знакомые поля ищут или по ссылке в браузере, или боты разне бывают:crazy:
 
Я сделал все очень просто, изменил URL для страницы с формой обратной связи в настройках сео, спам прикатился!
к сожалению, это не на долго помогает
и шлют они не по ЧПУ, а по прямому урлу на контроллер обратной связи
 
Я сделал все очень просто, изменил URL для страницы с формой обратной связи в настройках сео, спам прикатился!
к сожалению, это не на долго помогает
и шлют они не по ЧПУ, а по прямому урлу на контроллер обратной связи

После изменения URL спам не прекращается - проверено.
Наверняка помогает bug fix, который скидывал выше.
 
После изменения URL спам не прекращается - проверено.
Наверняка помогает bug fix, который скидывал выше.
Да, смена урлов мне лично помогла на 2 недели, вчера опять поперло.
Подскажите как отрубить полностью эту обратную связь если она мне не нужна. Единственное, что нужно это счета, которые приходят мне на почту когда покупатель оформил покупку через корзину. Но это же не одна и та же функция ?
 
Назад
Сверху