Captcha

    Выдвигаю на рассмотрение идею капчи, использующую в качестве проверки движения мышкой, повторяющие очертания заданных простых фигур или других несложных 2d объектов.
    Может кто-нибудь воплотить в жизнь?
    Share post

    Similar posts

    Comments 35

      +1
      плохая идея, плохая. по вашему эмулировать то же самое не выйдет?
        0
        например на картинке изображены три фигуры, нужно обвести одну из них, тут же и цветовое кодирование возможно, из одинаковых фигур нужно обвести определенного цвета, а
        технически, к сожалению, я не представляю как это можно сделать.
        0
        Попробуйте посчитать: сколько фигур вы сможете таким образом придумать и отследить? 10? 20? 100? То есть при 1000 запросов сервера к вам попадет 10 спам-сообщений.

        А уж скрипт, который отправляет на сервер нужный код пишется на ура.
          0
          может быть фигуры смогут генерироваться как-то или даже учитывать позицию фигуры...
            0
            не правильно выразился, но надеюсь вы поняли что я хотелд сказать :)
              0
              юзер сдохнет от сложности
                0
                ну смотря как сделать, можно ведь и в виде игрового момента сделать прохождение капчи, что-то типа лабиринта или еще что.
                  0
                  да, что то вроде этого http://vitality.nm.ru/wordshop/img/labir.gif
                  была ещё идея в виде паззла http://vitality.nm.ru/wordshop/img/pazzle1.gif
          +1
          А помойму неплохая идея. Просто каждый по своему представляет реализацию идеи и поэтому для кого-то идея кажется плохой.
            0
            Было бы интересно посмотреть на несколько вариантов.
              0
              Можно, например, использовать такой вариант:
              скрипт ставит 10 точек и рандомно пять из них соединяет, чтобы получилась фигура. Затем тоже самое предлагается проделать человеку.
              Или давать юзеру задания, вроде "нарисуйте треугольник" и человеку надо соединить три точки, чтобы было 3 угла.
              Как-то так, думаю смысл уловили.
                0
                да вообще места для фантазии хватает - точки напомнили мне о снятии блокировки в Андроиде, классный ход.
                  0
                  первый вариант для машины будет элементарен.
                  второй вариант:
                  1) или вам самим придется писать анализатор фигур (а значит кто-то еще это сможет сделать не хуже)
                  2) или вам придется подготовить вручную определенное количество заданий с ответами, а значит кто-то еще сможет легко занести варианты ответов в свою базу
                    0
                    Я не программист, поэтому мне сложно с вами поспорить, но я попробую.
                    Я представлял себе первый вариант так:
                    Скрипт ставит 10 точек, рандомно соединяет пять из них. Затем сохраняет комбинацию, как рисунок. Затем этого пользователь повторяет действие, совершенное скриптом, после чего компьютер сверяет два рисунка. Чтобы было больше комбинаций, можно случайно соединять от 3 до 7 точек, а общее кол-во точек выбирать от 9 до 21, к примеру.
                    Насчет второго варианта согласен с вами, немного не подумал и том, что заданий много не придумать.
                      0
                      так вот, например, как будет действовать простейший скрипт распознавания: он последовательно соединит пары точек, и, сравнив с картинкой каждую пару, узнает, какие точки надо было соединять (если на рисунке линия примерно совпадет с той, которую получила программа). это проще, чем текст распознать
                        0
                        вся прелесть не в анализировании рисунка или сравнении двух, а в том, что данные считываются с движений мыши! по крайней меря я так "вижу".
                          0
                          Это не важно, к сожалению. В любом случае автор спам-бота сможет проанализировать, как из этих движений ваш защитный скрипт формирует запрос серверу и по данным распознавания картинки сформировать его сам.
                            0
                            ну так картинка-то каждый раз другая, т.е. бот должен будет анализировать картинку да еще и угадывать движения мыши и как-то подсовывать их скрипту капчи!
                              0
                              Ну так боты и сейчас анализируют, сложнее с фигурой не будет. а один раз расшифровать, как собирается материал и отправляется на проверку ботописатель вполне может, если это распространённая каптча.
                        0
                        а если фигуры будут генерироваться случайным образом? анализатор фигур видимо таки да придется писать самостоятельно желательно с различными тонкими настройками восприятия "человечности", скажем человек не сможет два раза одинаково нарисовать фигуру, или случается точное совпадение с уже существующим в базеответом...
                          0
                          "не сможет два раза одинаково нарисовать фигуру"
                          а программа-распознаватель сможет использовать random, чтобы нарисовать два раза немного поразному.

                          прелесть существующей капчи состоит в том, что на стороне сервера берется готовый ответ, сильно меняется так, что даже сам сервер уже не распознает, и тогда почти гарантируется, что это сможетсделать только человек. а если вы сможете написать программу, которая на стороне сервера сможет проанализировать правильность ответа, то это же можно будет делать на стороне клиента
                            0
                            я чувствую, что вы правы, но все таки хочу обратить внимание не столько на техническую сторону, сколько на пользовательское восприятие и удобство! В любом случае нет такой защиты, которую невозможно взломать.
                  0
                  какие у этой идеи преимущества по сравнению со стандартной капчей?
                  недостаток: пользователю надо будет не только распознать фигуру (как это приходится делать в современных капчах), но потом еще и помучаться, правильно обведя.
                  если вы думаете, что можно упростить распознавание, то вы упростите распознавание и для автоматической распознавалки, а обвести мышкой программе проще, чем человеку
                    0
                    мне кажется "рисование" интуитивнее, хотя тут возникают трудности с людьми с ограниченными возможностями.
                    Распознать не так сложно и не настолько важно, как воссоздать правильный путь, проделываемый мышкой при рисовании фигуры и дальнейшая работа по определению соответствия с заданной фигурой, а вот тут уже и различные алгоритмы сверок, всякие допуски, погрешности и прочее о чем я уже и не берусь рассуждать.
                    –1
                    Анализировать будем JS или на стороне сервера?
                    JS - не сможет обеспечить нормальную защиту.
                    На стороне сервера - нужно ему передать последовательность точек. Это туева хуча данных. Не проще ли передать 4-5 символов?

                    Итог: игрушка. Для реальности не годится.
                      0
                      если скрипт будет опрашивать мышь с каким-нибудь шагом , то и данных будет не так уж много. А поповоду игрушечности могу сказать, что это интереснее, чем угадывать например кошек в рапидшаре :)
                        0
                        Если опрашивать с шагом, то фигура будет уже не та. Представьте, вам предложили обвести треугольник, смотрящий вверх. А вы его быстро обвели и на проверку отравилось три точки, лежащие на серединах строн. Получился треугольник, смотрящий вниз...
                          0
                          ну шаг не такой большой ставить и не по времени, а скажем по пикселям...
                            0
                            С этим сложно поспорить, главное не переборщить. Я не очень пока что представляю, как сервер будет оценивать правильность полученных данных, если уменьшать количество точек, либо прийдётся ограничится только очень простыми фигурами, либо это отдельная не самая простая задача. кроме того существует ещё и возможность ошибится и человеку при обводе, а заставлять его переобводить фигуру, если у него дрогнула рука — хорошо ли(?)...
                              0
                              Пардон, *ошибиться*
                      0
                      У товарищей битардов уже есть программа, которая с небольшими модификациями такую капчу спокойно обойдет... Поэтому не катит.

                      К тому же все равно это не остановит тех, кто просто нанимает людей заполнять капчи.
                        0
                        людей никакая капча не удержит, только бан :)))
                        0
                        В целом идея принимать от пользователя не ответ на вопрос, прочитанный с картинки код или иную текстовую информацию довольно новый и интересный.

                        Это несколько усложняет жизнь разработчику бота, нужно не только распознать изображение(а это бывает даже легче, чем распознать текст), но и на основе распознанной фигуры(и т.д.) сформировать данные для сервера, которые будут приняты за "человеческие". Но стоит это сделать, как все аналогичные каптчи, построенные по одному принципу сразу падут под натиском ботов. И с отличие от текста, который можно замазать получше, изменить шрифт и т.д., концепцию каптчи с обводом геометрических фигур сильно усложнить мне не представляется возможным.

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

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

                        Что-то я расписался, пора завязывать. Капчи должно быть мало для пользователя, но много разновидностей. Распространённая каптча — не каптча, её расшифровывают быстро и её ценность невелика. Идеальным вариантом было бы написание каждым разработчиком своей версии со своими характеристиками и особенностями, это единственный способ остановить спам. Ну и общественной модерирование ;)
                        • UFO just landed and posted this here
                            0
                            )) ну, если вдруг найдете силы и желание покажите пожалуйста результат, было бы интересно поглядеть.

                          Only users with full accounts can post comments. Log in, please.