title
Description
Body
Немного обдумывал как бротся со спамерами.
То сейчас многих раздражает капча, и меня в том числе.
Мож я чего то упустил?
Вообщем есть идея написать скрипт который будет полноценно наблюдать за каждым.
Но есть пару вопросов кто нить уже думал об этом, и реально ли такое?
Неактивен
ну можно упростить пользователям жизнь используя текстовую капчу хотябы. вставляя рандомно всякий шлак, затрудняющий распознавание для ботов.
например, span теги, заменять символы на unicode последовательности. такой подход используется на govnowap.ru и wapinet.ru. помогает от ботов в 90% случаев.
Активен
Ну капча, конечно, достаёт, но графическая - это лучший способ защиты на данный момент, хоть что с этим делай. Но и её можно обойти(ещё зависит от её замудрённости).
Неактивен
На счет реги еще не придумал.
Но вот насчет например привата думаю вести журнал каждого юзера и в случае подозрений блочить его.
Подозрениями могут быть много факторов например: Интервал запросов к сайту, большой процент схожести сообщений, определять одних и тех же юзеров на разных аках, и тому подобное.
Неактивен
Как можно обработать процент схожести сообщений?
У меня идея такова подсчет количества слов, в случае большого процента совпадения разбить через
preg_split('/[,\.\!\?]{0,3}\s/U');
И обработать каждый элемент массива на процент совместимости, покаместь со всех идей это самый оптимальный вариант.
Или есть Альтернатива по эффективней?
Отредактировано TLENS (2011.07.12 18:06)
Неактивен
DarkDaNTe, такое много где реализовано) даже тут в гостевой
TLENS, levenshtein, similar_text
Активен
Я вот подумал и надумал вот что. Видел один демотиватор, как там типа человек может читать слова, даже если буквы кроме первой и последней (вроде или 2х первых и последних) в нем разбросаны/переставлены/не на своих местах. Думаю сделать такую каптчу. Давать слова разбросанные, а вводили чтоб нормальные или числа (чтеыре=4).
Пока не знаю как реализовать, но думаю стоит попробовать.
- - - -
Ну может быть сначала нормальное слово в мд5 заширить, потом в input hidden. И после перемещать исходное и показать пользователю.
Вот эта тема: habrahabr.ru/blogs/programming/122163/
а там до меня уже додумались
Отредактировано tipsun (2011.09.20 10:18)
Неактивен
интересная идея.
вот только md5 хэш нельзя светить, иначе просто переставляя буквы и сверяя хэш, можно получить правильное слово.
тут нужен просто массив соответствий array('чтеыре' => 'четыре');
Активен
С телефона писал, может че неправильно. Уже забыл код
|
|
Отредактировано tipsun (2011.09.20 12:10)
Неактивен
Ну я вспомнил сейчас
Там mb_substr(), mb_strlen(). А вот суффле нет
Добавлено спустя 1 минуту 56 секунд:
С php.net
|
|
Неактивен
Чет у меня пока нет хороших мыслей как реализовать: первую и последнюю не трогая перемещать буквы.
|
|
Отредактировано tipsun (2011.09.20 20:48)
Неактивен
|
|
Отредактировано tipsun (2011.09.20 22:23)
Неактивен
Я уже знаю что ответят: "Сделай класс!"
Да и так все класс
Ну а по делу, да надо бы.
Сразу там же проверку сделать.
- - - -
Можно было бы просто массив со словами >3 букв.
|
|
Отредактировано tipsun (2011.09.21 19:41)
Неактивен
Не получается. Не знаю как именно там так же красиво все прописать.
- - - -
Как я сейчас понял сессию для гостя все равно придется начать
|
|
Отредактировано tipsun (2011.09.21 19:43)
Неактивен
используй сеттеры и геттеры.
т.е. не echo $captcha->code; а, echo $captcha->getCode(); в методе getCode просто return $this->code; а переменные все приватными или защищенными сделай.
Активен
Чушь полная гг.
Забей в поиск "чтеыре" и получишь четыре. Это только один из ста вариантов взлома такой капчи разве что на картинку кидать и толку.
Отредактировано TLENS (2011.09.22 12:55)
Неактивен
Норм? o_O
|
|
Отредактировано tipsun (2011.09.27 23:13)
Неактивен
На те капчу...только числа с мусором...
|
|
Неактивен
Я писал разноцветную, но "нахера" - потом спросил себя?
Вот идея у тебя хорошая, с сессии брать число.
Вот, вроде работает.
Как отдельный файл, просто указать
|
|
|
|
Отредактировано tipsun (2011.09.28 16:35)
Неактивен
tipsun, ну это разные вещи все-таки, имхо)
только если изначально стояла цель написать именно компонент для капчи. если же пишется, скажем, блог или форум, то изобретать таки велосипеды, как капча, имхо, смысла нет.
Активен
Вот еще пришла в голову мысль.
Делать каптчу либо на русском, либо на английском.
В этой captcha заменить похожие друг на друга буквы (шрифт подобрать такой, чтоб различий вообще не было видно).
Ну по идее бот должен полностью скопировать и вставлять текст. А человек должен будет прописать.
- - - -
ХАВpx
- - - -
Можно даже не указывать на каком языке ввести, просто принимать и на том и на другом языке в чистом виде (исключая другой).
Что насчет этого думаете?
Отредактировано tipsun (2011.11.20 09:23)
Неактивен
Нет, текстовая.
А вроде есть ведь свойство у input чтоб его нельзя было тронуть?
Сейчас напишу о чем я.
Поддержка всеми браузерами и разметками.
http://htmlbook.ru/html/input/disabled
Для моб.:
Просто, как текст.
Для компов:
|
|
Можно сделать типа чтоб пользователю было понятно на каком языке вводить добавить пару "явных" букв с русского или английского языка:
русс: pрАHэг
англ: pрАHqr
Отредактировано tipsun (2011.11.20 14:12)
Неактивен
Очередная говноидея...
|
|
Отредактировано tipsun (2011.11.22 23:48)
Неактивен
не, обходится элементарно.
а в текущей реализации даже простым трафаретом. без искревлений букв рандомных даже рассматривать, имхо, не стоит.
Добавлено спустя 2 минуты 1 секунду:
вот - по-моему отличная реализация.
Активен
А вот еще читал про анимированную каптчу. Как насчет gif?
Её тоже легко разложить на кадры итд?
- - - -
Или, вот еще вспомнил, задачка из телеканала:
Сколько треугольников нарисованно?
Сколько линий?
Сколько точек пересечения?
А вообще конечно эти хакеры гении.
Какие хочешь способы взлома, распознавания они придумывают.
Еще умудряются вычислять градусы искажения. Вообще...
И 3D каптчу там тоже было написано можно сломать вычислениями.
Отредактировано tipsun (2012.02.20 12:26)
Неактивен
tipsun, вот только не нужно хацкерам жопу лизать. 99% т.н. хацкеров малолетние дибилы начитавшиеся хацкера.
взлом приведенной тобой капчи произведет любой хороший программист.
Активен