Без капчи и яваскрипта
Защита от ботов доставляет юзеру неудобства - кривая картинка или новомодный яваскрипт, отключенный в стародавних браузерах древних гос-предприятий (что кажется странным, ибо у нас вообще куплен win7).
Плюс яваскрипт пока-что подчиняется простым алгоритмам, установка значения в hidden поле, например.
Так вот, хочу обсудить следующую идею:
Для регистрации требуется заполнить несколько полей с фиксированными названиями в html коде.
Важных из них 5 - login, email, email-2, пароль, пароль-2.
Спам программа заполняет их значениями, которые должна запомнить для последующей авторизации (поля тире-2 должны совпасть, поле логин и пароль используется дальше).
А теперь сделаем так, чтобы машина не знала, какое поле логин, какое пароль, какое email.
В таблицу текущих регистраций (куда кладется текущее значение капчи) добавим 5 пунктов для каждого из полей соответственно. В каждом пункте будет текущее html-имя поля ввода, по которому будут браться данные (input[$newnames['login']] например). Формат имени поля будет нефиксированной длины, чтобы нельзя было использовать этот признак в программе. Составляться имя поля будет из маленьких и больших латинских букв и цифр каждый раз рандомно (и рандомной длины ).
Проверка email и пароля на лету делаться не будет, ибо тогда появится возможность узнать каким-либо образом (зависит от реализации проверки) соответствие html имен. Проверка будет делаться на сервере, ибо ошибки в этом месте у человека бывают крайне редко, а если бывают, ничего - введет снова. Мы делаем систему при которой юзер, делающий все верно, обламываться и замечать что-либо вообще не будет, а машина не пройдет.
17 комментариев
Рекомендуемые комментарии