PDA

Просмотр полной версии : альтернатива капче


Дикс
10.01.2009, 09:41
вот взбрела вчера в голову мысль - хочу узнать, насколько она вменяемая. смысл в том, чтобы избавить юзера от необходимости вводить код с картинки.

выложив в инет свои последние разработки, я убедился в существование неких ботов, которые ищут всевозможные формы без защиты и отправляют через них сообщения. т.е. это не конкретная работа злоумышленника с моей формой, а всего лишь жалкий бот. естественно их можно обмануть лишь немного унифицировав форму - так я и сделал, попросив ввести в в поле сумму двух чисел. поток бредятины от ботов через ту форму прекратился.
но есть идея ещё более красивая и удобная, суть её заключается в следующем:

делаем инпут хидден, равный нулю.
при onkeypress в любом из required-полей - яваскриптом меняем значение на 1.
таким образом можно определить что форму заполняет человек и реализовать защиту.

как вам такое?

LegenDOS
10.01.2009, 10:02
А если твой сайт целенаправленно захотят зафлудить итп..... Твои защиты тебя неспасут....

ToniKapuchon
10.01.2009, 10:08
делаем инпут хидден, равный нулю.
при onkeypress в любом из required-полей - яваскриптом меняем значение на 1.
таким образом можно определить что форму заполняет человек и реализовать защиту.

как вам такое?

Ну поменял ты на 1, какой-то хайден равен всё время 1 (при передаче). Захочешь хранить значение на сервере (типа рандомное каждому юзверу), тебе всё равно в html нужно будет передавать некую функцию высчитывающее рандомное значение javascript... ну кароч )) ни чего нового ты не придумал ))

a1ex
10.01.2009, 10:17
попросив ввести в в поле сумму двух чисел
На некоторых форумах стал такое замечать при реге и при входе..

ToniKapuchon
10.01.2009, 10:46
На некоторых форумах стал такое замечать при реге и при входе..

сумма двух чисел, также на рисунке... т.е. аналог капчи)) если прост в html писать цифры... то для бота пустяковая задача!

DDoSька
10.01.2009, 14:30
Слышал о модуле для WP ,это как бы капча, но ничего вводить не надо. Как только ты или заходишь на страницу, или пишешь сообщение, тебе даетсяя кука. А как правило спам-машина не может принять кукуи у нее вырубленн JS. Как найду, скину линк - почитаете

brasco2k
10.01.2009, 14:31
Какая разница? Посчитать сумму символов и отправить заголовки :)

diehard
10.01.2009, 14:48
делаем инпут хидден, равный нулю.
при onkeypress в любом из required-полей - яваскриптом меняем значение на 1.
таким образом можно определить что форму заполняет человек и реализовать защиту.

как вам такое?

Бредятина.

brasco2k
10.01.2009, 14:53
+ если совмещать с сессией на сервере, форму могут флудить

DDoSька
11.01.2009, 00:31
http://wordpresssupplies.com/wordpress-plugins/captcha-free/
как и обещал ! Captcha-free

Gifts
11.01.2009, 01:21
DDoSька Вместо двух запросов, как для обычной капчи - будет 3, только процесс можно будет автоматизировать.

1) HEAD для того чтобы установилась переменная cf_salt
2) ПОСТ, чтобы получить хэш для формы
3) пост сообщения

Дикс
11.01.2009, 09:15
нет желания возиться с чем-то чужим.
вот что можно сделать исходя из вышесказанного:
при онкейпресс ставить яваскриптом куку с рандомным значением и в хидден это значение вставлять.
а затем проверять на сервере наличие куки, её значение и значение хиддена.

интересно это избавит от ботов?

Nightmarе
11.01.2009, 09:21
Защита одна - человек что то сам должен вводить.
Либо капча, либо задача сложение чисел, и т.д...

В противном случае всё можно подделать.
Бота можно написать который и куки принимает и яву и т.д... на любом языке.
Тоже самое про парсинг страниц, и поиск в HTML коде чего либо...

Вот подумайте ©

CrazyNight
11.01.2009, 13:25
Абсолютно ничего нового.
Лично я с 2002ого (!) года использую хэш, зависящий от некоторых серверных констант (время, IP, ...) в хиддене рядом с каптчей, который добавляется самим PHP и действителен один раз, т.е. работать всё это будет безо всяких джаваскриптов.

Разумеется от ботов не спасёт (для них у меня оригинальная каптча, списывать из которой нужно только определённые символы, например только гласные или только цифры, кратные трём), НО вот для чего всё-таки этот хеш нужен:
данные сгенерированных каптч у меня хранятся в БД, но если хэш не передан или неверен, то мы посылаем пользователя, не проверяя верность каптчи (и всего остального), т.е. экономим запрос, а может быть и несколько.

Изобретал велосипед кстати сам, нигде не подсматривал, хоть это ничего и не значит, но всё же :-).

DDoSька
11.01.2009, 14:27
Защита одна - человек что то сам должен вводить.
Либо капча, либо задача сложение чисел, и т.д...

В противном случае всё можно подделать.
Бота можно написать который и куки принимает и яву и т.д... на любом языке.
Тоже самое про парсинг страниц, и поиск в HTML коде чего либо...

Вот подумайте ©
Но ведь капча, задачки - не панацея
хз, мне и предложить нечего, все можно обмануть, конечно можно замудрить капчу сложную , но это не айс
ЗЫ: Ничто не спасет, защита от дураков...ИМХО, умный людь найдет выход

Pashkela
11.01.2009, 14:46
Самое крутое, что я видел - это не капча, а рандомные имена полей ввода из заранее сделанного массива. Реализация очень проста на javascript.

Nightmarе
11.01.2009, 15:08
Самое крутое, что я видел - это не капча, а рандомные имена полей ввода из заранее сделанного массива. Реализация очень проста на javascript.
и + ко всему в куки пихнуть определёный код.
Это защита от ламеров, обходится так-же банально парсингом кода.

brasco2k
11.01.2009, 15:14
Парсим код, парсим кукисы, все в одном запросе :)

круто сделано на http://samair.ru/proxy/
Рандомные имена переменных + рандомные значения. Степень обхода такой защиты стремится к нулю.

Pashkela
11.01.2009, 15:32
и + ко всему в куки пихнуть определёный код.
Это защита от ламеров, обходится так-же банально парсингом кода.


Это имелась в виду защита от автоботов при регистрации и спаме (стандартных)

Если речь идет о человеке - то тут кроме сложной капчи на мой взгляд ничего круче нет, и то, всё обходится. Но с капчей злобному флудерасту таки придется потрудится больше всего + элементарная 1-минутная защита от флуда, например, между каждым постом. Если 20 постов таких сделал, где интервал ровно 1 минута (+/-) - бот, автобан, чонить вроде этого

DDoSька
11.01.2009, 17:19
Думаю, на данный момент актуальна капча.
ЗЫ:Подскажите статьи по обходу капчи, пожалуйста.
Где-то видал в инете

Pashkela
11.01.2009, 17:48
Вот, мне больше всего понравилась:

http://www.xakep.ru/post/41033/

CrazyNight
12.01.2009, 02:19
Собственно, вот кое-что из готовых наработок по обходу капчи в сети:

http://www.cs.sfu.ca/~mori/research/gimpy/
http://caca.zoy.org/wiki/PWNtcha

DDoSька
12.01.2009, 06:21
1.а если капчу сделать во флеше(статическая картинка)?
2.а если сделать во флеше не статическу? - хрен же обойти?

bombeg
12.01.2009, 09:47
Флеш есть не у всех. Каптчу надо делать как можно более простую и доступную... если у тебя сайт с 1000 хостами в день, то нету никакого смысла делать супер сложную каптчу, тем более, что толку даже от нее мало, сайтом никто не будет заниматься... Для начала нужно сделать, чтобы посетителю сайта было удобно и не приходилось ставить плагины флеш, включать джаваскрипты , перезагружать компьютеры. Защита защитой, но пользователь важнее.

Если сайт кому так сильно нужен - есть каптча-врайтеры, от них ничто не спасет.

ТС написал так... а у меня и у многих джаваскрипт выключен. Значит я почему-то не смогу войти на сайта, создать акк, или еще что сделать, потому как меня обзовет ботом или еще кем? Нельзя так делать.

bombeg
12.01.2009, 09:51
Была идея на хабре простой, но нормальной каптчи -
http://s47.radikal.ru/i117/0901/66/e79d67c58a34.png
тут допустим нужно выделить чекбоксы всех квадратов. Это конечно обходится легко, но от обычных программ-рассылок спасет. От хороших - не спасет ничто.

DDoSька
12.01.2009, 11:09
Флеш есть не у всех. Каптчу надо делать как можно более простую и доступную... если у тебя сайт с 1000 хостами в день, то нету никакого смысла делать супер сложную каптчу, тем более, что толку даже от нее мало, сайтом никто не будет заниматься... Для начала нужно сделать, чтобы посетителю сайта было удобно и не приходилось ставить плагины флеш, включать джаваскрипты , перезагружать компьютеры. Защита защитой, но пользователь важнее.

Если сайт кому так сильно нужен - есть каптча-врайтеры, от них ничто не спасет.

ТС написал так... а у меня и у многих джаваскрипт выключен. Значит я почему-то не смогу войти на сайта, создать акк, или еще что сделать, потому как меня обзовет ботом или еще кем? Нельзя так делать.
Ты тоже самое говоришь,что и все в этйо теме, для чего? Все и так понимают, что пользователь главнее всего

Дикс
12.01.2009, 11:43
ТС написал так... а у меня и у многих джаваскрипт выключен. Значит я почему-то не смогу войти на сайта, создать акк, или еще что сделать, потому как меня обзовет ботом или еще кем? Нельзя так делать.
спасибо что указал на это.
можно сделать тег noscript - в котором будет что-то типа галочки "я не бот" для тех у кого отключен яваскрипт (жесть конечно)
но вот есть сомнения - раз эти машины забивают все поля, может они и чекбоксы проставляют?

напомню свою цель - избавиться от машин, которые тупо засирают формы.
я не ставил целью защититься от конкретного спамера, который будет изучать мою защиту.

наверное сделаю в итоге так:
на регистрации вместо капчи сделаю рандомные вопросы, на которые надо ответить текстом, а на добавлении коммента поставлю капчу, которую надо ввести один раз при посещении сайта. после этого в сессии отмечается что ты не бот.
или даже лучше айпи в БД сохранить, чтобы человек никогда эту капчу больше не видел? да наверное это ещё правильнее.

Gifts
12.01.2009, 19:27
Дикс Если цель защититься от обычных ботов - то подойдет любой НЕстандартный метод. Имхо - яваскрипт с хидден полем + капча в noscript, для тех у кого он отключен и никаких лишних телодвижений для пользователя не нужно

З.Ы, яваскрипт естественно должен быть самописный