| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 не помогает от плохих мальчиков и вредит хорошим. Какие еще гениальные идеи у вас есть? |
| Автор: Ипатьев 21.11.2009, 14:33 |
| ну-ну. я, конечно, ошибаюсь. ага. офигительный способ, ставить боту куку. он ее будет бережно хранить, как мамину фотографию. |
| Автор: g27 21.11.2009, 14:37 | ||
а что насчёт базы тогда плохо? |
| Автор: Ипатьев 21.11.2009, 14:40 |
| Ну попробуйте. Делайте свою защиту. Если вы считаете, что понимаете технологию лучше всех, а все вокруг ошибаются. Что вам мешает написать защиту самостоятельно, основываясь на своих представлениях о ней? Добавлено через 4 минуты и 34 секунды Можно поинтересоваться, что за сайт, которому капча уже не помогает? Я таких знаю всего два. Всегда мечтал познакомиться с разработчиками. |
| Автор: g27 21.11.2009, 14:47 | ||||
Я говорил что вы ошибаетесь насчёт моих знания о технологии работы моего сайта и ботов. И если бы я считал что я понимаю лучше всех, то не спрашивал бы тут как сделать лучше.
То что мне интересно как делают другие и как я уже говорил, я не отрицаю того что я не прав в чём-то, потому и спрашиваю как лучше. |
| Автор: Ипатьев 21.11.2009, 14:55 |
| Другие ставят капчу. Это вам уже сказали. ну вот теперь я поменял свое мнение. Вы отлично все знаете. Что мешает вам написать свою супер-защиту? Добавлено через 1 минуту и 42 секунды Вот режьте меня - но я уверен, на сто процентов. Посещаемость сайта - сто хостов в сутки, включая поисковики. А секретный код от капчи передается в секретном хидден поле. |
| Автор: g27 21.11.2009, 15:00 | ||||
может хватит сарказма уже. Добавлено через 5 минут и 26 секунд
Если бы я сделал уже зачем мне спрашивать тогда? Наверное проще сначало узнать как и что а потом уже делать? |
| Автор: Ипатьев 21.11.2009, 15:17 |
| Что "сделал уже"? У вас стоит на сайте капча, или не стоит? |
| Автор: g27 21.11.2009, 15:23 |
| Ипатьев, нет. Я щас думаю над этим вопросом, какую защиту ставить, поэтому и спрашиваю. И ещё вопрос, разве нет таких сервисов которые за определённую плату расшифровывают капчи? То что они есть это факт, но они расшифровают только определёные или вобще пытаються любые расшифровать? |
| Автор: Ипатьев 21.11.2009, 15:25 |
| Есть Но это окупается только для очень больших сайтов. понятно |
| Автор: g27 21.11.2009, 15:38 |
| ясно. ну тогда я выбираю капчу. спасибо за всё |
| Автор: brother79 23.11.2009, 13:50 | ||
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 парсер и выполнять нужные куски.
Добавлено через 2 минуты и 4 секунды
|
| Автор: brother79 24.11.2009, 05:51 | ||
Вот вот, и я про то же, остальное - хоть и ломается, но от простачков всёравно защитит, а от профи - именно js, не каждый полезет так глубоко, если только всю страницу не выполнить браузером. |