Pull to refresh

Comments 26

Следующая вариация на тему защиты от спама - встроенная мини игра PACMAN, Tetris, Mario (на выбор) , проходишь 3 уровня и только в этом случае происходит отправка данных.
А как же быть с людьми с ограничеными возможностями? А если человеку просто лень проходить что-то там чтобы зарегистироваться на каком-то там сайте?
Ваша идея больше походит на вот это :)
Хм. Находка конечно, но наврядли пойдет в жизнь, имхо. Так же как с недавней "каптчей" от Оперы - отгадка размещенная в публичном месте не есть надежная защита :(.
Бегло посмотрел реализацию — там нет отправки данных на сервер как таковой: после перетаскивания просто рисуется то, что было в этой "форме" =)
Если бы отправка была, то её бы можно было бы без проблем повторить и эти js-красивости были бы бесполезны.
Так что это не альтернатива капче.
что-то совершенно непонятно что и как эта находка защищает,
в данном случае данные вообще не сохраняются (вообще на сервер ничего не посылается)
но в рабочей ситуации любой drag&drop, нажатие кнопки или что либо еще должно будет привести к отправке данных на сервер, и как защищен этот этап - совершенно неясно, спам-ботам не особо важно как это выглядит на экране - посылать данные они будут скрипту
Фактически на сервер на страничке ничего не отправляется, так что смысла большого в этом примере нет. Если бы данные отправлялись, то после анализа кода можно было бы легко - порядка часа работы - вычленить саму функцию отправки и сделать специализированного бота. От "типовых" ботов такой подход может и помочь (как и масса других, более простых для конечного пользователя), от целенаправленной атаки - нет.
Забавно - пока писал свой комментарий, появилось еще два почти таких же. У умных людей мысли сходятся :)
все верно, а от типовых ботов защиту можно сделать гораздо проще, прозрачную для пользователя и такую-же эффективную от бота
Не вопрос, скрытые пустые поля, которые должны оставаться пустыми никто не отменял. Но как демонстрация этот просто любопытен и дает, так сказать, пищу для размышлений
Совершенно верно. Непонятно почему идут посты по поводу отсутствия реальной отправки чего-то на сервер, ведь цель у примера другая - именно "дать пищу для размышлений", а не позволить себя поломать.
Вы (как и автор метода) похоже просто не очень хорошо себе представляете сущность проблемы защиты от спама (только пожалуйста не обижайтесь). Главная проблема - как отличить робота от человека, т.е. человека нужно попросить сделать что-то такое, чего робот не может сделать в принципе (drag&drop робот также как и браузер сделать может, а капчу распознать - нет), т.е. тут сам подход неверен, совершенно не то защищает и для защиты от спама - не годится в принципе
Да, я кажется понял о чем Вы, по посту ниже: достаточно поглядеть активность клиент-сервер после правильного d&d чтобы просто слать куда надо и что надо. Тут Вы правы. Однако у меня появилась мысль. Что если сервер будет генерировать сообщение следующего рода: "Скиньте что_то_там на Х-ый квадратик", где Х - рандомный, сохраненный в сесиию признак. Получается аналог каптчи. Поди, бот, определи где из пяти квадратиков светлокрасный или с картинкой раздавленного таракана :). Такого рода вещи можно с легкостью генерировать. Да и свободы, как ни крути, очень много.
очень рад что Вы "ухватили" суть проблемы, Ваш метод работать будет :)
не будем рассматривать с точки зрения юзабилити, просто сама идея именно такая - юзер должен сделать что-то такое чего в принципе не сможет сделать бот (ввести капчу, выбрать квадратик, ответить на вопрос и т.д.) и должна использоваться сессия (или куки) чтобы сервер знал какой вопрос (капчу, квадратик) он задавал
я не про скрытые пустые поля (способ от типового бота не лучший кстати, их могут заполнять, а могут и не заполнять),
просто ту-же защиту от типового бота можно реализовать с помощью кнопки submit которая дергает js который меняет action у формы, или что-нибудь еще самое примитивное, это точно также раскапывается вручную (т.е. от направленных спам-ботов не подойдет), но от типовых эта защита не менее эффективна, а для пользователя - меньше проблем доставляет
я тоже когда-то пытался спорить на счет эффективности пустых скрытых полей, ... меня жестко заминусовали :-) Дело в том, что поля e-mail, name, password таки обычно заполняют :-) Кроме того, подавляющее большинство ботов заполняют все поля.
а я и не пытаюсь спорить, просто все эти методы - от типовых ботов, метод с помощью d&d - от бота ничем не лучше других (в т.ч. и типовых полей), а для пользователя вызывает лишние проблемы
Вот сейчас на одном своём проекте применил такой приём: используется простая форма, но просто поменял местами названия полей email и name. В итоге, все боты в качестве имени суют email, что легко проверяется на стороне сервера.

Хотя, конечно, этот метод не спасает от направленного бота, но пока таковых замечено не было.
а еще скрытые поля позволяют работать с выключенным js
Можно реализовать несколько способов отправки, из которых рабочий будет только один, который вызывается через d'n'd
ну так вот его и будет использовать спам-бот
Есть сложность в определении истинного. Тут защита на уровне защиты самого JS кода - прочность цепи определяется самой слабой ее частью. Как только человек разобрал код, ничего не стоит сделать спам-бота из банального setInterval().
интересно, а можно создать метод, который нельзя вызывать напрямую, но который бы вызывался как callback на d'n'd? :-)
можно, все это можно сделать, но все-равно в результате все эти хитроумные методы в браузере придут к отпрвке данных на сервер, а там уже это неважно - как метод был вызван, просто есть скрипт - ему на вход какие-то параметры приходят, спам-бот (если кому-то вздумается заспаммить) будет дергать именно его, обходя все эти js
Идея понравилась. Просто, удобно, не надо напрягатся.

Правда кажется мне что от ботов она никак не защишает :)
UFO just landed and posted this here
Sign up to leave a comment.

Articles