Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Размышление про капчу
 
 автор: Владимир55   (21.07.2010 в 23:34)   письмо автору
 
 

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

Полазил по сети по теме «капча». Решений довольно много, но весьма часто они сопровождаются приписками, что спамеры их уже взломали. И я пришел к выводу, что взломано будет любое решение, как только оно станет популярным. А если дело обстоит таким образом, то получается, что надежнее всего написать самому какую-то несложную защиту и не тиражировать её код. Ибо ради взлома одного сайта едва ли спамеры будут напрягаться.

Так?

  Ответить  
 
 автор: psychomc   (21.07.2010 в 23:53)   письмо автору
 
   для: Владимир55   (21.07.2010 в 23:34)
 

вообще, мой опыт

как только начал программировать на php был мало знаком с gdlib и не знал как с ней работать. так вот, соорудил каптчу из 9 картинок в фотошопе (0-9), причем которые видны довольно отчетливо, и выводил их по 5 штук в рядок (выглядело как одна картинка). так вот, спама не было вообще на протяжении довольно долгого времени. потом взял взял gdlib и сделал примерно стандартную капчу (поворачивающиеся цифры/буквы, задротские шрифты, шум, короче устаревшую) - сразу полез спам, по 5-10 писем в день в гостевую.
так вот, как мне кажется, решение должно быть просто не стандартное...
а вообще, лучше всего совсем без каптчи и всего этого дерьма, а просто публикацию делать после одобрения администратора/модератора (если конечно позволяет задача). пользователи не любят эти картинки и вопросы...

p.s так что как мне кажется вы абсолютно правы

  Ответить  
 
 автор: Commander   (22.07.2010 в 05:46)   письмо автору
 
   для: Владимир55   (21.07.2010 в 23:34)
 

Есть довольно интересная идея - сделать картинку и скрыть ее средствами JS/CSS. Человек картинку не увидит, а боты будут вводить - если код с картинки введен, то перед нами бот. Я, правда, не пробовал, но вдруг сработает?

  Ответить  
 
 автор: Valick   (22.07.2010 в 08:07)   письмо автору
 
   для: Commander   (22.07.2010 в 05:46)
 

это уже давно придумано и боты это обходят))

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 10:04)   письмо автору
 
   для: Valick   (22.07.2010 в 08:07)
 

Насколько я понимаю, боты читают HTML код, где находят условие проверки и адреса картинок, которые закачивают себе и в силу своего интеллекта раскодируют.

А если условие проверки бота вывести через АЯКС?

  Ответить  
 
 автор: psychomc   (22.07.2010 в 10:15)   письмо автору
 
   для: Владимир55   (22.07.2010 в 10:04)
 

такое уже было на сайте вконтакте. теперь этого там больше нет
видимо есть способы получше

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 10:25)   письмо автору
 
   для: psychomc   (22.07.2010 в 10:15)
 

Спасибо, что сообщили об этом!

А то я избрал бы именно этот способ.

Тогда поиграемся с цветом.

  Ответить  
 
 автор: AlexSol   (22.07.2010 в 11:03)   письмо автору
 
   для: Владимир55   (22.07.2010 в 10:25)
 

есть хорошие интерактивные решения на js и флеш
выводятся картинки под углом, рядом ползунки (стрелочки) и задание: повернуть все (только чотные) картинки горизонтально.

мне кажется, очень удачное решение

или выводятся несколько картинок с числами и задание: выбрать числа больше семи.

главное побольше таких текстовых условий.


эффективнее чем ввод текста с картинок

  Ответить  
 
 автор: mihdan   (22.07.2010 в 10:46)   письмо автору
 
   для: Владимир55   (21.07.2010 в 23:34)
 

[поправлено модератором]

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 11:03)   письмо автору
 
   для: mihdan   (22.07.2010 в 10:46)
 

Какие неожиданные решения!
Спасибо за идею!

=============
Как я понял, первый сайт Ваш. А потому вопрос: капча давно установлена? Боты не проходят?

  Ответить  
 
 автор: Valick   (22.07.2010 в 11:19)   письмо автору
 
   для: mihdan   (22.07.2010 в 10:46)
 

по первой ссылке поведение верстки сайта в IE достаточно странное.
средний блок уходит вниз при определенных размерах окна

вторая ссылка напрочь подвешивает комп

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 12:47)   письмо автору
 
   для: Valick   (22.07.2010 в 11:19)
 

вторая ссылка напрочь подвешивает комп

Мне пришлось перезагружаться...

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 12:54)   письмо автору
 
   для: Владимир55   (22.07.2010 в 12:47)
 

Если для ввода ответа на капчу вместо записи сразу всех символов в одно окно вводить ответ посимвольно методом
<option value = "2">W</option>

это затруднит работу спамерам?

  Ответить  
 
 автор: Valick   (22.07.2010 в 13:08)   письмо автору
 
   для: Владимир55   (22.07.2010 в 12:54)
 

нет

  Ответить  
 
 автор: Axxil   (22.07.2010 в 14:43)   письмо автору
 
   для: Владимир55   (21.07.2010 в 23:34)
 

Меня лично капчи бесят и поэтому на моих сайтах их не было и не будет. В таких условиях, понятно, надо искать альтернативу. Перебрав много способов я остановился на банальном, но, вместе с тем очень действенным.

В форму добавления материала я добавляю текстовое поле с очень распространённым именем, например <input type="text" name="user_mail"> данное поле я скрываю свойствами display или left в css файле. Оно не видно пользователю, но бот его по-любому заполняет.

Дальше - понятно. Отсеиваем всех, кто заполнил это поле.

Понятно, что защита не 100%, если будут парсить конкретный сайт, то разберутся. Даже простым перебором всех вариантов сочетаний полей формы можно пробить защиту. Но если добавить антифлуд, то можно достаточно хорошо защититься.

У меня по-крайней мере работает отлично. Каждый день долбятся сотни роботов, но идут нафиг.

  Ответить  
 
 автор: Владимир55   (22.07.2010 в 16:27)   письмо автору
 
   для: Axxil   (22.07.2010 в 14:43)
 

Идея представляется гениальной!

Можно даже сделать несколько лишних полей (для надежности).

  Ответить  
 
 автор: psychomc   (22.07.2010 в 17:45)   письмо автору
 
   для: Axxil   (22.07.2010 в 14:43)
 

неплохо, куда лучше этих картинок...
и обойти скорее всего такое сложно

  Ответить  
 
 автор: ddhvvn   (22.07.2010 в 19:38)   письмо автору
 
   для: psychomc   (22.07.2010 в 17:45)
 

Сразу как только будет известно разработчикам ботов, так сразу добавят в список алгоритмов и будут обходить...

P.S.: здесь хоть ЧТО-ТО бы уже внедрили... уже было б хорошо

  Ответить  
 
 автор: Loki   (23.07.2010 в 09:33)   письмо автору
 
   для: ddhvvn   (22.07.2010 в 19:38)
 

Этот способ давно известен... в том числе и разработчикам роботов. Называется "honeypot". В принципе, прекрасно работает пока не начинают ковырять конкретно ваш сайт. Тут, в какой-то степени, может помочь динамическая генерация полей.

  Ответить  
 
 автор: Valick   (23.07.2010 в 09:53)   письмо автору
 
   для: Loki   (23.07.2010 в 09:33)
 

+ защита формы ключом который например принимает ответ от формы не ранее чем через 4-8 секунд (роботы обычно заполняют форму быстрее) и в течение допустим 20-30 секунд.
____
кстати кто знает сколько примерно повремени происходит распознавание допустим обычной капчи?

  Ответить  
 
 автор: Владимир55   (23.07.2010 в 09:56)   письмо автору
 
   для: Loki   (23.07.2010 в 09:33)
 

Динамическая генерация полей - это просто изумительная идея!

Спасибо, Loki !

  Ответить  
 
 автор: Loki   (23.07.2010 в 11:02)   письмо автору
 
   для: Владимир55   (23.07.2010 в 09:56)
 

Не все так однозначно. Как я уже сказал, если займутся именно Вашим сайтом, то наряду с генерацией полей придется генерить еще и css, иначе по именам классов будет легко определить какие поля рабочие. Кроме того, у пользователей перестанет работать автозаполнение в браузерах. Что, в общем-то, не очень красиво...

  Ответить  
 
 автор: Владимир55   (23.07.2010 в 11:15)   письмо автору
 
   для: Loki   (23.07.2010 в 11:02)
 

Утрата автозаполнения меня не смущает, ибо я предоставляю каждому пользователю только одну попытку записи. А вот генерация css - это уже сложновато сделать в работающем сайте без перезаливки...

Будем думать...

  Ответить  
 
 автор: Trianon   (23.07.2010 в 11:11)   письмо автору
 
   для: Владимир55   (23.07.2010 в 09:56)
 

К указанному Loki добавлю, что html-код формы перестанет кешироваться.

Может всю эту артиллерию повесить на форму регистрации?

  Ответить  
 
 автор: Владимир55   (23.07.2010 в 11:16)   письмо автору
 
   для: Trianon   (23.07.2010 в 11:11)
 

Да я намеревался обойтись без регистрации...

  Ответить  
 
 автор: Николай2357   (23.07.2010 в 12:59)   письмо автору
 
   для: Владимир55   (23.07.2010 в 11:16)
 

Была идея "ленивой капчи". Идея очень проста. Рисуется картинка с кучей разных кнопок. И на этой же картинке генерится надпись - "нажмите красную круглую кнопку". Идентификация по координатам. Руки пока не дошли реализовать...
Один недостаток - достаточно много места потребует. И дальтоники лесом... Хотя с цветом можно и не баловаться.

  Ответить  
 
 автор: Loki   (23.07.2010 в 13:55)   письмо автору
 
   для: Николай2357   (23.07.2010 в 12:59)
 

Подобные вещи очень неэффективны... сколько вы нарисуете кнопок? 3? 5? 10? Это значит что робот передавая одни и те же параметры будет каждый десятый раз обходить защиту...

  Ответить  
 
 автор: Владимир55   (23.07.2010 в 16:05)   письмо автору
 
   для: Loki   (23.07.2010 в 13:55)
 

Если ограничить количество доступов с одного IP, то ситуация улучшится.

  Ответить  
 
 автор: morkovkin   (23.07.2010 в 22:18)   письмо автору
 
   для: Владимир55   (23.07.2010 в 16:05)
 

Когда меня атаковали боты, то каждая попытка шла с разного ip...

  Ответить  
 
 автор: Николай2357   (23.07.2010 в 16:23)   письмо автору
 
   для: Loki   (23.07.2010 в 13:55)
 

>Это значит что робот передавая одни и те же параметры будет каждый десятый раз обходить защиту...
Отнюдь. Это было бы так (вернее могло бы быть, если бы распределение случайности было бы линейным), если бы было достаточно передать 10 чисел. А тут координаты. Они разбрасываются совсем не на 10 вариантов.
В комплексе с паузой между попытками в несколько секунд вполне могло бы получиться.
Хотя конечно, если атака адресная, тут ничего не поможет.
От стаи голодных студентов защиты нет.)))

  Ответить  
 
 автор: Loki   (25.07.2010 в 23:45)   письмо автору
 
   для: Николай2357   (23.07.2010 в 16:23)
 

>вернее могло бы быть, если бы распределение случайности было бы линейным
А какое же оно будет, по Вашему?
>если бы было достаточно передать 10 чисел. А тут координаты. Они разбрасываются совсем не на 10 вариантов.
Какого размера вы хотите пользователю отдать картинку? 5-6 мегапикселей? А какого размера должна быть область в которую он должен кликнуть? в конкретный пиксель?
Я еще раз повторяю что это очень слабая защита... ну либо Вы мизантроп и люто ненавидите своих пользователей.

  Ответить  
 
 автор: Николай2357   (26.07.2010 в 00:22)   письмо автору
10.3 Кб
 
   для: Loki   (25.07.2010 в 23:45)
 

>ну либо Вы мизантроп и люто ненавидите своих пользователей.
Да ладно)))
Во первых я высказал идею. А она имеет право на жизнь, какой абсурдной Вам бы не казалась.

Во вторых.
А какое же оно будет, по Вашему?
Разумеется не линейным. Иначе можно было бы законно выиграть в рулетку, ставя на один цвет и повышая вдвое ставку. Или Вы хотите сказать, что из 10 попыток одна обязательно удачная?

В третьих. Я сам отметил недостаток - большая зараза получится. Но ведь ни кто не говорил и о размере кнопки... Как Вам такой вариант? ============================= >

  Ответить  
 
 автор: Loki   (26.07.2010 в 11:13)   письмо автору
 
   для: Николай2357   (26.07.2010 в 00:22)
 

Вариант хороший, но:
1. очень здоровый
2. для пользователя неочевидно что это сабмит формы. Они могут быть не готовы к тому, что данные будут отправлены.
3. если рассматривать чуть более сложных роботов, то задача сводится к выбору одного из 4 объектов. То есть успех в 25% случаев.

Именно из-за третьего пункта все эти необычные капчи и не получают распространения: они относительно сложны для пользователя при относительной простоте для роботов..

  Ответить  
 
 автор: Николай2357   (26.07.2010 в 11:48)   письмо автору
16 Кб
 
   для: Loki   (26.07.2010 в 11:13)
 

По первому пункту да. Большая. Хотя не ткая и уж...
Но намного проще тыкнуть мышой, чем набирать тексь
По второму - ну написать же можно. Или просто активировать кнопку "Пуск" после нажатия...
А по третьему - мне лень рисовать было))) Вот так уже лучше. А можно фон пустить. =====>

Однако что то мне это начинает нравиться. Сделаю все таки наверное на досуге.

  Ответить  
 
 автор: Loki   (26.07.2010 в 14:24)   письмо автору
 
   для: Николай2357   (26.07.2010 в 11:48)
 

1:9 - все равно отличные шансы угадать не целясь:)
капча из 4 цифр дает вероятность 1:10000... разница есть.

  Ответить  
 
 автор: Николай2357   (26.07.2010 в 23:55)   письмо автору
 
   для: Loki   (26.07.2010 в 14:24)
 

1:9 - все равно отличные шансы угадать не целясь:)
Ну для этого сначала картинку разобрать надо. А если фон неоднотонный забабахать - то будет ой как не просто.

А тупо угадывать, без разбора, не выйдет. Там же координаты икс и игрек, а это не 10 вариантов. На порядки больше.

  Ответить  
 
 автор: sim5   (27.07.2010 в 00:49)   письмо автору
65.6 Кб
 
   для: Николай2357   (26.07.2010 в 23:55)
 

Вот такую каптчу, стилями, кусочками на фон страницы. И боту не обидно, и футуристично будет. )

  Ответить  
 
 автор: Commander   (23.07.2010 в 07:36)   письмо автору
 
   для: Axxil   (22.07.2010 в 14:43)
 

Практически идентично тому, что я выше высказал

  Ответить  
 
 автор: Рома   (23.07.2010 в 22:44)   письмо автору
 
   для: Владимир55   (21.07.2010 в 23:34)
 

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

  Ответить  
 
 автор: ddhvvn   (24.07.2010 в 11:59)   письмо автору
 
   для: Рома   (23.07.2010 в 22:44)
 

>а чем вам аякс не угодил? он отлично отбивает ботов. всех.
Да Вы что! Аргументируйте?
Вы хоть бы чуть глубже поинтересовались темой, прежде чем так говорить.
Хотя бы в этом топике чуть выше бы глянули...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования