Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > анти-бот защиты


Автор: g27 21.11.2009, 13:58
Здравствуйте, как делают анти-бот защиты? Капча щас уже не помогает. Меня особенно интересует что бы регистрация, авторизация. Допустим что бы бот не регал по акк в пару сек ставить можно таймер. Так вот хватит ли его в кукисы засунуть или лучше в базу записать по айпи? Спасибо.

Автор: Ипатьев 21.11.2009, 14:06
Надо просто капчу сделать понадежнее.
Для начала проверить, а работает ли она вообще. Судя по предложению писать ботм куки, такое вполне может быть.
Все остальное перечисленное вообще не имеет никакого смысла.

Автор: g27 21.11.2009, 14:13
щас почти любая качпа нормальными ботами расшифровывается. А если делать посложнее, то не каждый пользователь сможет её прочитать ещё.
Я немного не понял вас. Вообщем задам вопрос напрямую. Я хочу включать таймер после какой-то операции допустим на 2 минуты, что бы в течении этих 2 минут нельзя было повторить это действие. Так вот где лучше записывать данные таймера, в куки к пользователю или в базу данных(вместе с айпи пользователя)? Куки можно и удалять побыстрому. А в базу как-то напряжно лазить, хотя если эту операцию на сайте делают давольно редко, например регистрируются то это вполне приемлимо.

Автор: nerezus 21.11.2009, 14:19
Просто использовать нестандартную капчу. Она может быть легче обычной.
А как вопрос относится к пхп?

Автор: g27 21.11.2009, 14:21
nerezus, ну я же на пхп запросы в базу делаю и т.д. Вы думаете не стандартная капча поможет? что-то я сомневаюсь... Ну а как насчёт мною предложеных способов?

Автор: Ипатьев 21.11.2009, 14:23
Не надо задавать вопрос напрямую.
Вопросы напрямую помогают, когда человек разбирается в проблеме, и может вопрос сформулировать.
В данном случае вопрос на уровне детского сада. Показывает полное непонимание технологии, по которой работает как свой сайт, так и боты. 
поэтому в первую очередь надо проверить - а защищает ли капча хоть от чего-нибудь.
поскольку обычно когда новички делают капчу, они ее делают такой, что ее даже распознавать не надо.

Добавлено через 7 минут и 59 секунд
Ботам куки не ставят. Это все равно, что хулиганам на улице показывать кодекс об административных нарушениях. И те и другие поступят с ним одинаково.
Блокировка IP не помогает от плохих мальчиков и вредит хорошим.
Какие еще гениальные идеи у вас есть?

Автор: g27 21.11.2009, 14:31
Цитата(Ипатьев @  21.11.2009,  14:23 Найти цитируемый пост)
В данном случае вопрос на уровне детского сада. Показывает полное непонимание технологии, по которой работает как свой сайт, так и боты. 

вы ошибаетесь.

Почему капча лучше мною предложеного способа?

Автор: Ипатьев 21.11.2009, 14:33
ну-ну.
я, конечно, ошибаюсь. ага.
офигительный способ, ставить боту куку. он ее будет бережно хранить, как мамину фотографию.

Автор: g27 21.11.2009, 14:37
Цитата(Ипатьев @  21.11.2009,  14:33 Найти цитируемый пост)
офигительный способ, ставить боту куку. он ее будет бережно хранить, как мамину фотографию.

а что насчёт базы тогда плохо?

Автор: Ипатьев 21.11.2009, 14:40
Ну попробуйте.
Делайте свою защиту.
Если вы считаете, что понимаете технологию лучше всех, а все вокруг ошибаются.
Что вам мешает написать защиту самостоятельно, основываясь на своих представлениях о ней?

Добавлено через 4 минуты и 34 секунды
Можно поинтересоваться, что за сайт, которому капча уже не помогает?
Я таких знаю всего два. Всегда мечтал познакомиться с разработчиками.

Автор: g27 21.11.2009, 14:47
Цитата(Ипатьев @  21.11.2009,  14:40 Найти цитируемый пост)
Если вы считаете, что понимаете технологию лучше всех, а все вокруг ошибаются.

Я говорил что вы ошибаетесь насчёт моих знания о технологии работы моего сайта и ботов.
И если бы я считал что я понимаю лучше всех, то не спрашивал бы тут как сделать лучше.

Цитата(Ипатьев @  21.11.2009,  14:40 Найти цитируемый пост)
Что вам мешает написать защиту самостоятельно, основываясь на своих представлениях о ней?

То что мне интересно как делают другие и как я уже говорил, я не отрицаю того что я не прав в чём-то, потому и спрашиваю как лучше. 

Автор: Ипатьев 21.11.2009, 14:55
Другие ставят капчу.
Это вам уже сказали.

Цитата(g27 @  21.11.2009,  14:47 Найти цитируемый пост)
Я говорил что вы ошибаетесь насчёт моих знания 

ну вот теперь я поменял свое мнение.
Вы отлично все знаете. Что мешает вам написать свою супер-защиту?

Добавлено через 1 минуту и 42 секунды
Вот режьте меня - но я уверен, на сто процентов.
Посещаемость сайта - сто хостов в сутки, включая поисковики.
А секретный код от капчи передается в секретном хидден поле.

Автор: g27 21.11.2009, 15:00
Цитата(Ипатьев @  21.11.2009,  14:55 Найти цитируемый пост)
Вы отлично все знаете. Что мешает вам написать свою супер-защиту?

может хватит сарказма уже.

Добавлено через 5 минут и 26 секунд
Цитата(Ипатьев @  21.11.2009,  14:55 Найти цитируемый пост)
Вот режьте меня - но я уверен, на сто процентов.Посещаемость сайта - сто хостов в сутки, включая поисковики.А секретный код от капчи передается в секретном хидден поле.

Если бы я сделал уже зачем мне спрашивать тогда? Наверное проще сначало узнать как и что а потом уже  делать?

Автор: Ипатьев 21.11.2009, 15:17
Что "сделал уже"?
У вас стоит на сайте капча, или не стоит?

Автор: g27 21.11.2009, 15:23
Ипатьев, нет. Я  щас думаю над этим вопросом, какую защиту ставить, поэтому и спрашиваю. 

И ещё вопрос, разве нет таких сервисов которые за определённую плату расшифровывают капчи? То что они есть это факт, но они расшифровают только определёные или вобще пытаються любые расшифровать?

Автор: Ипатьев 21.11.2009, 15:25
Есть
Но это окупается только для очень больших сайтов.

Цитата(g27 @  21.11.2009,  15:23 Найти цитируемый пост)
нет

понятно

Автор: g27 21.11.2009, 15:38
ясно. ну тогда я выбираю капчу. 
спасибо за всё

 

Автор: brother79 23.11.2009, 13:50
Цитата(g27 @  21.11.2009,  13:58 Найти цитируемый пост)
Здравствуйте, как делают анти-бот защиты? Капча щас уже не помогает. Меня особенно интересует что бы регистрация, авторизация. Допустим что бы бот не регал по акк в пару сек ставить можно таймер. Так вот хватит ли его в кукисы засунуть или лучше в базу записать по айпи? Спасибо. 


1) Капча + активация - само собой 
2) банить не нужные ip - так себе, но мера не помешает, хоть и есть масса проксей, но если т.о. ip вычистить - задача для ботов усложняется
3) скрытые пар-ры, которые вычисляются в js где-то вглубине, но с отключенными скриптами работать не будет. Как вар-нт можно тот скрипт, в котором защита лежит цеплять где-то на этапе выполнения, чтобы его не видно было тем же firebug

Капчу сильно мудрённую делать - я смысла не вижу, обычно капча вводится руками, или за счёт сервиса "антикапча", где также сидят индусы и долбят их, за небольшую плату, т.е. пишется прога, которая автоматизирует процесс, а пользователь только сидит и долбит капчи. Всякие куки - этой прогой легко реализуются. Самое сложное - это сломать защиту из п.3, постоенную на скрипте, т.к. тогда надо разбираться в работе скриптов, а если скрипт будет пакованный - то сложно докопаться как же этот параметр вычисляется, а без него у бота работать не будет ничего. Можно конечно прогу написать, чтобы она страницу браузером открывала, тогда всё, что на js вычислится автоматом и ничего не останется кроме как выдрать из браузера готовый запрос, но ты же сам понимаешь, что универсально защититься невозможно, а последний вар-нт не так уж и прост. 

И когда будешь строить защиту - не надо выдавать сообщений типа "это бот и обломайтесь", если ты точно определил, что это бот(например какие-то доп. параметры не сошлись), лучше сделать так, чтобы было непонятно почему не получилось, вплоть до выдачи какойнь-дь страницы, типа "всё сломалось", да какуюнб-дь ошибку, а потом этому ip всегда или какой-то период эту ошибку показывать, чтобы он думал, что просто сервер упал, с занесением ip в чёрный список. 


Автор: g27 23.11.2009, 20:01
brother79, спасибо за информацию, это уже интересно)

Автор: capitan 23.11.2009, 23:34
Было время, писал авторегистраторы. Могу поделиться опытом.
1. Капча отправляется на сервер распознавания. Т.ч. это не защита.
2. Некоторые пишут список вопросов-ответов. Можно так-же за несколько обходов их собрать.
3. Подтверждение на мыло - тоже обходится очень легко.

Спотыкался только об одну вещь - JS. Если получалось сэмулировать работу JS на php, продолжал дальше.  Если не получалось - бросал это дело.  CURL не может работать с JS.  Т.ч. копать в сторону JS.

P.S. Некоторые делали ещё так. Делали невидимое поле для пользователя, который не видит код страницы. Бот это поле видит и заполняет. Но это тоже лабуда. Я включал снифер, делал вручную несколько регистраций и смотрел что отсылается.

Автор: Ипатьев 23.11.2009, 23:38
capitan, не западло такие вещи делать?

Автор: capitan 23.11.2009, 23:55
Ипатьев, я делал не западло а авторегистраторы. Зато теперь представляю как от них можно защититься.

Для информации можно почитать раздел http://habrahabr.ru/tag/captcha/  там много полезно есть.

Автор: Ипатьев 24.11.2009, 00:25
гадил, в общем. своим же.

Автор: nerezus 24.11.2009, 02:20
capitan, писал авторегистраторы? В какую цену?)
А то, что пишутся они только для ОЧЕНЬ крупных проектов?) Иначе невыгодно.

Так что как минимум автор топика полностью защищен только этим ;)

Цитата

Если получалось сэмулировать работу JS на php, продолжал дальше.  Если не получалось - бросал это дело. 
 Можно не эмулировать, а работать регекспами. А можно подключить JS-движок.
А можно(экзотика) писать сразу на JS парсер и выполнять нужные куски.

Цитата

 не западло такие вещи делать?
 Мне тоже приходилось. Проблема в том, что за это платили, а надо кормить семью. Но сейчас куча заказов на веб, так что про это, надкюсь, забуду, как про страшный сон.

Добавлено через 2 минуты и 4 секунды
Цитата

гадил, в общем. своим же.
 Я писал для гугла и хотмейла. Не своим. Второй - это ### ) Именно там пришлось работать с JS, т.к. тупо не мог разобраться с его логикой.

Автор: brother79 24.11.2009, 05:51
Цитата(capitan @  23.11.2009,  23:34 Найти цитируемый пост)
Спотыкался только об одну вещь - JS. Если получалось сэмулировать работу JS на php, продолжал дальше.  Если не получалось - бросал это дело.  CURL не может работать с JS.  Т.ч. копать в сторону JS.



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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)