captcha
Посетила меня минут 10 назад, с первого взгляда гениальная мысль (ведь уже спать пора, а так не хочеца…), которая по сути своей касается такой простой штуки как captcha. И касается она вот как.
По сути обычная капча работает по довольно примитивному способу: серверсайд генерит каринку, которую мы вставляем куда-то в рядом с полем, а после смотрим, совпадают ли у нас значения в капче и форме. Вроде все счастливы, но проблема в том, что такую капчу довольно просто распознать даже не человеку. А ту, которую довольно сложно распознать даже не человеку, человеку распознать тоже бывает довольно сложно.
По сути, теперь рассказываю как будет работать, так сказать captcha 2.0 pre aplha:
1. Серверсайд генерит какое-нибудь число (ну например оно у нас будет в пределах от 1000 и до 9999). Допустим 2000.
2. Серверсайд рандомно создает алгоритм преобразования этого чилса (несколько математических\логически и других операций с числом). На JS. Например:
value = value / 2;
value = value * 4;
value = value + 96
value = replaceEveryNumberAtChar(value, /*массив какое число заменить на какой символ*/);
3. Допустим после всего мы получили такое забавное число как B0D8, которое с помощью JS-а рисуем пользователю.
4. Юзер видит нашу капчу, вбивает ее и мы получаем на сервере значение B0D8, которое после пары преобразований (а мы сохраняем в сессии каких) сравниваем. И если все хорошо - значит капча пройдена.
Настолько она устойчива - хз, но по сути, при таком подходе человеку, который захочет сломать каптчу понадобица парсить JS, ибо ничего без него не получится сделать.
Комментариев нет
Комментариев нет.
Извините, комментирование на данный момент закрыто.