Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать? Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?
Здравствуйте, Hoochie, Вы писали:
H>Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать? Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?
Сделай капчу. Примеры есть на www.codenet.ru в разделе PHP/Графика
1. Проверять IP. Если сообщение с одного IP отправлено дважды за 30 минут, то в базу его не вносить. Если таких попыток пять — выдаёшь 404-ю ошибку. Типа такой страницы уже нет.
2. Просить ввести свой регистрационный код для программы (типа пароля) и проверять по коду (то же, что в п.1)
3. Пишешь простой скрипт на Perl (модуль GD). Выводишь картинку с числом и просишь человека его ввести (типа доказать, что он не робот)
Здравствуйте, uuu2, Вы писали:
U>1. U>2. U>3.
4. Ниже код. Элементарно, но работает — ни одного спамного сообщения через форму ещё не провалилось. Понятно, что спам-скрипт можно поднастроить и на это — пускай возются, чуть поправить — и всё опять ОК.
А каптча... Считаю что такой спам — это проблемы владельца сайта, разработчика и саппорта. Но никак не пользователя, потому решать их за счёт напрягания пользователей не есть хорошо.
еще как вариант (я так делаю) — проверять введенный текст, например обилие сочетаний "http://" — явный признак спама, по крайней мере на моем сайте оказалось именно так. Посмотрите что обычно содержат спам-сообщения с вашего сайта, и выкидывайте все подозрительные
Здравствуйте, Hoochie, Вы писали:
H>Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать? Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?
Даа... жопа блин с этими козлами У меня не выкладывается ничего напрямую, дак все равно спамят козлы. Не понимаю только зачем.
Еще такая фишка пошла — спамят undelivered письмами. В чем прикол, тоже не понимаю. Но спамят.
Здравствуйте, lozzy, Вы писали:
L>Еще такая фишка пошла — спамят undelivered письмами. В чем прикол, тоже не понимаю. Но спамят.
У меня тоже. ИМХО спамят с твоим обратным адресом, вот тебе все undelivered и сыпятся.
L>Еще такая фишка пошла — спамят undelivered письмами. В чем прикол, тоже не понимаю. Но спамят.
Хмм... Есть идея (может, глупая — не знаю).
А что, если сделать скрипт, который случайным образом меняет имя "скрипта отзывов", и соответственно,
меняет ссылку на этот скрипт. И запускать этот скрипт (через CRON) каждые 5 минут.
Т.е. юзер ничего не заметит, а спамерам придется постоянно узнавать новое имя файла и менять свой код.
Что, конечном в итоге, им быстро надоест.
Re[4]: Спамеры рассылают через форму на сайте
От:
Аноним
Дата:
15.10.06 14:41
Оценка:
Здравствуйте, Serggg, Вы писали:
S>еще как вариант (я так делаю) — проверять введенный текст, например обилие сочетаний "http://"
а как проверить текст на наличие "http://" ява-скриптом?
Здравствуйте, uuu2, Вы писали:
L>>Еще такая фишка пошла — спамят undelivered письмами. В чем прикол, тоже не понимаю. Но спамят.
U>Хмм... Есть идея (может, глупая — не знаю). U>А что, если сделать скрипт, который случайным образом меняет имя "скрипта отзывов", и соответственно, U>меняет ссылку на этот скрипт. И запускать этот скрипт (через CRON) каждые 5 минут.
U>Т.е. юзер ничего не заметит, а спамерам придется постоянно узнавать новое имя файла и менять свой код. U>Что, конечном в итоге, им быстро надоест.
Юзер пять минут будет писать сообщение, имя скрипта изменится и при нажатии кнопки "отправить" он увидит 404 не такая идея не катит... если только на каждого юзера сессии заводить — но это дополнительная нагрузка на сервак
GPH>Юзер пять минут будет писать сообщение, имя скрипта изменится и при нажатии кнопки "отправить" он увидит 404 не такая идея не катит... если только на каждого юзера сессии заводить — но это дополнительная нагрузка на сервак
Решений куча:
1. Кпонка "Отправить" обновляется каждые 30 секунд (делается маленький невидимый фрейм)
2. "Старый" файл остаётся "жить" ещё на 20 минут, но, туда записывается другой скрипт — вместо "Ваш запрос добавлен" скрипт выведет "нажмите ОК для подтверждения". А уже при нажатии ОК отзыв добавится в БД (или куда там у Вас?). И только через 20 минут (т.е. через 4 запуска "скрипта-модификатора") этот файл будет удалён, чтобы не плодить на диске кучу файлов. Я думаю, за 5+20=25 минут (!) юзер сумеет сформулировать свои гениальные мысли.
3. Типа сессий, только проще. При загрузке формы в поле типа HIDDEN (и в cookie) заносится случайный код ("Ak8YVcP6uIh8d"), который хрaнится в БД (вместе с IP) в течение 30 минут. При подаче запроса скрипт проверяет cookie и HIDDEN-поле (на случай, если кто-то отключит cookie). Если кто-то попытается с одним и тем же кодом отправить отзыв в течение 30 минут — или же код будет неправильный — такому человеку отказать! Конечно, можно после каждого "спам-запроса" очищать cookie, но это... сами знаете что. Плюс надо менять и поле HIDDEN. Плюс надо менять IP. Даже если "хакер" использует анонимный прокси — это не проблема. Можно отправить на сервер (и хранить в БД 30 минут) тип и версию браузера, разрешение монитора, локальное время, версию Windows, домашнюю страницу и т.п. Если три сообщения подряд отправил юзер с одинаковыми параметрами — это на 99.99% спамер.
Здравствуйте, Аноним, Вы писали:
А>а как проверить текст на наличие "http://" ява-скриптом?
у меня это проверяет php скрипт который "заведует" как приемом комментариев от формы, так и выдачей оных скрипту формирующему главную страницу...на яве не пишу, но думаю тоже есть ф-и работы со строками, а значит и поиск подстроки тоже быть должен...
Здравствуйте, Hoochie, Вы писали:
H>Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать?
Распознавание рисунков штука хорошая, но как уже правильно заметили, напрягает посетителей.
Из более мягких решений.
Добавить в форму дополнительное скрытое поле и вписать туда какое-нибудь число, например, прошедшее количество секунд в эпохе Unix. При приеме формы проверять, указано ли в данном поле нужное число. И если число не существует или отличается от текущего времени более чем на 15 минут, то послание считается спэмом и посетитель перебрасывается на страницу, где его просят еще раз отправить его сообщение с формы отправки. Для маскировки можете сделать еще 10 дополнительных скрытых полей, где вставлять числа случайным образом.
Расчет на то, что многие спэмеры один раз настраивают скрипты и потом спэмят ими сайт. Разбираться в алгоритмах появления чисел в разных полях им долго. Загружать каждый раз форму перед отправкой спэмеру противно. Пока хватает сайтов, где вообще нет никакой защиты от спэма.
Можно еще попробовать разбить процесс отправки письма на 2 этапа — Шаг 1, набор письма. Шаг 2, просмотр сообщения перед отправкой, якобы чтобы посетитель мог убедится, что все вписал правильно, особенно E-mail. Если каждый шаг снабдить уникальным идентификатором в скрытом поле, то спэмеру придется перед отправкой загружать не одну, а две страницы. Если на сайте стоит CMS, то многие из них позволяют выставить опцию "Обязателен предварительный просмотр сообщения".
Еще совет. Антиспэм имеет оборотную сторону. Можно скриптом откинуть письмо от нормального клиента и не заметить. Желательно для авторов предполагаемых спэмовских писем сделать переадресовку на специальную страницу, где сообщить об ошибке при отправке сообщения. Предложить отправить сообщение еще раз с формы отправки. И попросить в случае повторения этой ошибки написать на форум сайта, указав ссылку. Если какая-то категория живых посетителей попадет под раздачу антиспэма формы контактов, то когда таких наберется человек 10-20, кто-то из них соберется и напишет об ошибке на форум.
По этой же причине желательно хранить в файле на сайте отклоненные сообщения хотя бы за последние 2-3 дня.
Здравствуйте, <Аноним>, Вы писали:
S>>еще как вариант (я так делаю) — проверять введенный текст, например обилие сочетаний "http://" А>а как проверить текст на наличие "http://" ява-скриптом?
var a = split( text, "http://" );
a.length-1 будет количество.
Сергей Новиков
ZERGE.COM
* Сообщения от Анонимов не читаю, не отвечаю.
Здравствуйте, uuu2, Вы писали:
U>. Я думаю, за 5+20=25 минут (!) юзер сумеет сформулировать свои гениальные мысли.
Как-то писал большой ответ на RSDN. Через сайт. Делалось это на работе, поэтому были отлучки на 10-15 минут. Мессага вышла немаленькая. А отправить не дали
Здравствуйте, Hoochie, Вы писали:
H>Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать? Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?
Здравствуйте, Hoochie, Вы писали:
>Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?
У меня есть хорошая лекгореализуемая идея Тут http://softvoile.com/ в низу каждой страницы форма, обратите внимание на нижнее форму. Число жестко задано в конфиге. Поставил такую штуку на формы и на форум пхпбб спам как отрезало
Здравствуйте, Hoochie, Вы писали:
H>Подстроились под форму, которая расположена на сайте для отзывов и постят по много писем в день. Задача формы — сразу показывать отзывы на сайте. Пока отключил эту фичу ибо замучался чистить базу. Скажите что можно сделать? Ставить счетчик проверки для ввода? Может есть у кого-нибудь ссылка на хороший легкоинтегрируемый скрипт?