Антиспам в комментариях. Что если банить тех, кто отослал форму по сабмиту? То есть роботов. А для людей выводить не кнопку а ссылку "отправить", и к ней привязать скрипт, который будет отсылать какую-то хеш-сумму. Придётся запретить отправку комментария по энтеру. Только я не знаю алгоритма отправки спам-комментов. Всё сработает?
vkurlyan Идея сама по себе отличная, но иногда будет "промахиваться" если сделать её стандартными путями через JS (есть люди которые отключают JS) Я думаю стоит попробовать, только не банить всех подряд, а просто подозрительнее на них смотреть (т.е отмечать как либо эти посты, чтоб потом "модератор" смотрел внимательно и уже решал)
По идее, люди, у которых не включён javascript вообще не смогут отсылать комменты. Для них нужно будет сделать надпись "Для того, чтоб оставить комментарий включить js в настройках своего браузера". Но идея хороша в рамках малого количества проектов, поскольку, если кому-то будет нужно, он легко сделает скрипт под этот сайт, который заспамит его.
Не надо банить. Надо выводить показывать то же самое, что как будто комментарий добавлен. Тогда чувак который будет писать бота, сломает себе мозг.
Друзья, все решается намного проще. В 95% случаях достаточно сделать дополнительное поле textarea, которое потом через css сделать невидимым. Боты такое поле заполнят, люди - нет. Что делать дальше, думаю, догадываетесь. Я использую еще несколько приемов, чтобы отсеять ботов, но для подавляющего большинства случаев это подойдет. И никакой капчи.
Сюрприз, твоё решение было придумано ещё в 2004-м во времена рнрВВ 2.0.6 (был мод который банит тех кто заполняет поле "сайт" которое при регистрации пряталось через CSS) и боты давно уже научились его обходить
Обойти эту фичу для phpBB просто, если бот написан с учетом того мода. Бот просто знал заранее, что если есть поле с таким-то названием, значит, его заполнять не нужно. Для частного случая обойти такую защиту сильно сложнее, ведь бот заочно не знает, какое поле заполнять не нужно. Особенно если скрытое поле имеет имя типа "commentary" или "user_text". Чтобы пробить такой антиспам нужно писать бота под конкретный сайт. Вряд ли кто-то будет этим заниматься, если вы конечно не претендуете на лавры рамблера и мэйл ру. У меня есть множество мыслей, как можно улучшить защиту. Например, выводить несколько полей (3 заполняемых, 3 незаполняемых) с именем например "var[]", запоминать порядок их выведения и брать данные с учетом этого порядка. Тогда никакой бот не сможет по имени определить, какие поля заполнять не надо. Еще у многих (не говорю за всех, но у многих) ботов screen resolution = 1*1 и/или отключен Javascript. Что делать, думаю, понятно. Так что проблем с усилением антиспама нет, но изначального решения мне вполне хватает. Вам наверняка тоже хватит. А если не хватит - читайте предыдущий абзац =)