| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Проблемы с гостевой - достал спам |
| Автор: pay 8.6.2006, 06:36 |
| Достал спам в гостевой книге. Как можно определить, что сообщение пишет не живой человек? |
| Автор: Mal Hack 8.6.2006, 06:53 |
| Сделать постинг с вводом кода с картинки. |
| Автор: пользователь 8.6.2006, 06:58 |
| К вышесказанному можно ещё и премодерацию ввести. |
| Автор: oksale 8.6.2006, 08:17 |
| http://www.codenet.ru/webmast/php/Security-Images-in-PHP/ примерчик. |
| Автор: st1ng3r 8.6.2006, 11:01 | ||
| Наилучшим вариантом защиты от флуда-спама будет запрет на отправку с одного и тогоже IP адресса нескольких сообщений подряд. ------------------ 1. После отправки пользователем сообщения адрес посетителя и текущее время сохраняються на сервере в БД. Чтобы определить адрес клиента, можно использовать переменную окружения REMOTE_ADDR:
2. При принятии сообщения от пользователя необходимо удалить из базы все IP адреса, время хранения которых превышает опеределённое количество минут-часов. 3. Затем надо проверить, остался ли IP адрес в БД. Если да, то то не обрабатываем полученное сообщение, а выдаём сообщение типа "Нельзя оставлять 2 сообщения в течении 1 часа". Флудеры-Спамеры не будут флудить-спамить в таких местах, так как это отнимает очень много времени. |
| Автор: vasac 8.6.2006, 11:43 | ||
А зачем? Каждый раз тратить время на долгий запрос. Вытаскивать только IP текущего пользователя. 1. Нет IP в базе - добавить запись, добавить IP 2. Есть IP и с последней записи не прошло нужное время - отказать. 3. Есть IP и прошло время - добавить запись, обновить время для данного IP. А удалять можно изредка. А можно и вообще не удалять - будет статистика по добавлениям сообщений, может быть в дальнейшем пригодится. |
| Автор: Replicator 8.6.2006, 13:30 |
| Не, ip не надежно. У меня, например, недавно начались проблемы со спамом - каждый день в гостевой появляются 1 - 2 сообщения. Все с разными ip. Сначала я их отлавливал, т.к. спамеры не посылали строку UserAgent. Потом бота модифицировали (или это уже другой бот?) и теперь сообщения имеют UA, причем каждый раз разный. Тексты сообщений разные, E-mail'ы тоже разные. Единственное сходство - все на английском языке. Но тут тоже проблема, а вдруг я захочу англ. версию сайта, так что английские сообщения запрещать нельзя. Остается подтверждение кода с картинки и анализ текста. Буду делать и то, и другое. |
| Автор: BobiKK 8.6.2006, 15:47 |
| А что будет представлять из себя анализ текста? |
| Автор: R.M. 8.6.2006, 15:56 |
| BobiKK, смотря что постят спамеры. Если УРЛ на определённый ресурс то можно проверять нет ли там этого УРЛа, ключевые слова можно смотрить и т.п. |
| Автор: DemoCode 8.6.2006, 16:05 |
| На мой взгляд, лучший способ - это задавать вопросы с общеизвестными ответами (нынешние спамеры с легкостью читают даже трудночитаемые человеку цифры и буквы на картинке). |
| Автор: Replicator 8.6.2006, 18:20 |
| Поставил картинку. Посмотрим, как оно будет. А задавать вопросы... Ну допустим, это тематический сайт, там понятно. А что, если развлекательный? Не вариант. Да и вопросы придется постоянно менять, а то спамеры, ведь, и ответы могут выучить. |
| Автор: Serkys 8.6.2006, 18:25 | ||
Ни хрена себе... Уроды, млин! |
| Автор: DemoCode 8.6.2006, 19:39 | ||
Вопросы не обязательно тематичесие, например, "Который сейчас год?". Юзер вводит 2006. Ну и подобные вопросы.
Думаешь, ради того, чтобы поспамить в твоей гостевухе, они будут выучивать вопросы? Проще уж вручную зарегистрироваться и отправить свое спамерское сообщение |
| Автор: st1ng3r 8.6.2006, 19:51 |
| Раз мой вариант вас неустраивает, тогда плюс к нему можно добавить картинку с цифрами и буквами. Хотя это тоже на 100% не даёт гарантии что вашу гостевуху будут спамить. У меня просто у самого такая проблема была, но я её решил этим путём. Видимо им было лень вводить цифорки и менять IP. |
| Автор: madFobos 8.6.2006, 22:26 |
| А почему бы сессию не использовать: Пусть какое нибудь скрытое значение в форме каждый раз меняется и при отправке проверяется через сессию. |
| Автор: Guedda 9.6.2006, 09:41 |
| Я думаю, что самый наилучший вариант - это картинка с числом (постоянно меняющимся) + премодерация всех сообщений. |
| Автор: R.M. 9.6.2006, 10:58 |
Можно сделать премодерацию только для скажем незарегистрированных а регистрирует сам админ, тогда спамер никогда не обспамит а "свои" люди будут спокойно общаться. |
| Автор: Replicator 9.6.2006, 15:45 | ||
| Вообще, в гостевой книге обычно оставляется всего одно сообщение один раз одним человеком. Т.е. регистрация не имеет смысла. Премодерация выход, но лично мне не нравится. Во-первых, когда человек сразу не видит своего сообщения, он начинает нервничать. Во-вторых, я с тем же успехом могу удалять все лишние сообщения из гостевой. Насчет вопросов с годом и подобных - хорошая идея. Думаю, воспользуюсь. Сейчас установил ввод числа с картинки. Пока спам исчез. Посмотрим через пару недель.
Кто знает, кто знает... Кстати, можно писать вопрос на картинке =) Тогда его надо будет не просто выучить, но еще и распознать! Так и сделаю. |
| Автор: Guedda 10.6.2006, 08:42 |
| Нет нет нет... Пусть человек видит своё сообщение. Но только он, и один раз... |
| Автор: Icaros 12.6.2006, 15:01 |
| У меня тоже была проблема со спамом. После введения системы генерации чисел (картинка с числом) спам пропал. |
| Автор: wwwdiz 12.6.2006, 15:43 |
| Наипростейший вариант, это запрет латиницы...... |
| Автор: Mal Hack 12.6.2006, 15:50 |
А если я хочу написать www.ya.ru ??? что, теперь ни одной ссылки? |