Pull to refresh

Comments 22

UFO just landed and posted this here
Конечно, если бы вы были роботом с отключенным Javascript и CSS, то увидели бы три поля со значениями "фиктивное поле" внутри. Но вы ведь не робот? :)
Какой-то замудрённый способ, а от способа "Скрыть поле средствами CSS, которое пользователь не заполнит, а бот заполнит и выдаст себя" - ничем не лучше.
Если количество полей невелико, бот сможет пытаться каждый раз заполнять разные поля, присутствующие в форме, тем самым существенно повышая вероятность удачной отправки спама. Пройденный этап.
Это если бот не случайно зашел на сайт, а был специально под него заточен, иначе вариантов слишком много.

А если бот был специально заточен под определённую защиту - Ваш способ тоже ничем не поможет.
Роботы, посылающие просто запрос на сервер по данным из распарсенной страницы почти не используются и в скором времени себя совсем изживут. JS понимают почти все. Поэтому JS-подделки уже совершенно не являются защитой. Под такой способ даже перенастраивать ботов не надо, никто и не заметит вашей "хитрости". Форма как форма, заполнят и заспамят:)
совершенно неясно зачем столько сложностей
на том что боты не умеют читать js можно сделать совершенно простую штуку - по сабмиту добавлять к форме какой-нибудь параметр с помощью js, типовые боты это не тоже раскопают, а от человека который целенаправлено спамит ваш сайт этот способ ничем не хуже. т.е. бесполезен абсолютно: спаммер просто смотрит что посылается на сервер после сабмита и посылает то-же самое.

все эти способы, основанные на js и мысли о том что браузер понимает больше робота - они полезны только от типовых ботов, которые сканируют формы. напридумывать разных извращений с js всегда можно (например недавно предлагали перетаскивать заполненную форму), но все эти методы, разные по сложности и размеру текста, необходимого для описания, абсолютно одинаковы в плане полезности
Собственно, я и говорю о типовых роботах. Ботам, которые спамят yahoo, facebook обычные формы обычных сайтов просто ненужны. Не тот масштаб.
правильно. я просто говорю о том что для типовых ботов можно сделать что-нибудь гораздо проще основываясь на том-же тезисе, что JS роботы не читают буквально в 2 строки можно добавить параметр который типовой бот не сможет добавить, результат будет такой-же, кода (соответственно работы, ошибок и т.д.) - меньше.
Любую абсолютно форму, хоть фиктивную, хоть какую, можно автоматом заполнить, и при первом просмотре страницы человек сразу поймет как. Вопрос в том, что боты рассчитаны на знакомые им формы, т.е. спамят на массово используемых движках (типа phpbb). Сделать форму "нестандартной" можно совершенно разными способами, и бот не поймет, что с ней делать. А вот если захотели проспамить конкретно твой сайт, какой бы оригинальной форма не была, они это сделают. поможет только картинка.
И потом автозаполнение в предлагаемом варианте работать не будет наверняка.
какой умный ;) сам-то придумал? )))
как минимум полгода назад этот способ уже озвучивали и неоднократно. даже здесь ;)

так что не надо писать "Суть моего способа", автор.
Идея скрывать поля силами css мне пришла в голову еще в конце 2006 года. Желание и решение оформить идею в виде статьи мне пришло пару дней назад. А вообще хорошие идеи приходят в голову многим людям одновременно.
Кто первый озвучил, тому и все лавры
Вот идея с хидден полем действительно хорошая. Пускай даже хидден стилем - робот вряд ли разберется)
Способ мало эффективен просто в силу того, что вся работа спамера - изменить названия отсылаемых переменных. Всё.

С равным успехом, можно было бы просто поле "Ваше имя" назвать email, а поле "Ваш адрес" - name. В итоге, боты в качестве имени будут отправлять email адрес, что элементарно отфильтровывается.

Однако, против специально нацеленных на данный сайт ботов это не поможет.

А техника, о которой вы говорите, называется honeypot captcha. Ned Batchelder написал отличную статью на эту тему. Причём его защита значительно эффективнее, т.к. использует помимо непосредственно honeypot обфусицированные названия полей формы и кучу дрегих приятных мелочей.
Вы не правы. Спамеру тогда придется вручную высматривать реальные поля для тысячи сайтов, каждый из которых по своему мог назвать эти поля. Плюс на каждом сайте могут быть какие-то свои поля, дополняющие имя, емейл и текстареа. Способ неэффективен, когда идет обстрел конкретного сайта.
Кажется я сказал ровно то же самое, причём предложил вариант, абсолютно не использующий никаких css или js и не менее эффективный (с подменой названий). Для достижения заданной цели все выкрутасы с js и css на самом деле не нужны.

Причём, уже существуют системы, которые анализируют страницы с помощью движков браузеров, а уже по ним составляют схемы атаки. И в данной ситуации предложенный мной вариант эффективнее, т.к. там не достаточно просто обработать css и js. Для успешной атаки живому человеку нужно проанализировать форму.
Поскольку все эти боты, как правило, ориентируются на "неизменяемость имен полей формы" можно делать следущее:
- добавлять к полям формы суффиксы, например первые 5 символов md5() время на сервере округленное до дня + salt и на сервере проверять. В результате, каждый день имена полей будут меняться.
- Генерить hidden поле с хешем, составленным из IP адрес + время на сервере округленное до часа (можно больше, смотря где ставить) + salt. Проверять всё на сервере. Кстати, во многих случаях будет достаточно одного только IP адреса :) Ботики явно обновляют свои данные гораздо реже, чем меняются их IPы.
Поставил такую штучку на PHPBB, отлично - тишина полная!!!-))
Спасибо автору!!!
Sign up to leave a comment.

Articles