Pull to refresh

CAPTCHA: есть идеи реализации

Lumber room
Случайно появилась идея каким образом реализовать вывод изображения каптчи.
Возможно такой метод уже кто-то реализовал, не знаю.

Суть заключается в том чтобы выводить изображение не с помощью тега «img», а допустим с помошью «div» используя стили, а именно свойство background, но это не все. Background дает нам возможность повторять изображение, следовательно можно создать такое изображение, которое при единичном выводе не несло бы смысла, а при повторении получалось изображение, которое человек мог бы распознать.
Вообщем, лучше приведу пример.

За исходное изображении возьму каптчу с Яндекса:


Теперь отредактируем изображение, а именно, разрежем его на две половинки и поменяем их местами, вот что получмлось:


Хотя не обязательно таким образом резать картинку, это зависит от того как вы будете использовать стили.

А теперь код:

<div style="background: url('captcha.png'); height: 60px; width: 200px"> </div>

Если этот код вставить на страничку, то получим изображение аналогичное второй картинке.
Нам же нужно получить нормальное изображение, которое мог бы распознать человек, поэтому кое-что добавляем и получаем:

<div style="background: url('captcha.png') -100px repeat-x; height: 60px; width: 200px"> </div>

В результате получим картинку идентичную оригинальному изображению.
Это самый простой способ реализации данной идеи, можно дальше поразмыслить.

А вот немного другая идея посложнее в реализации, но наверно тоже интересная:

Допустим выводить изображение и часть его перекрывать изображением цветом фона, человек распознает только видимую часть каптчи, а робот распознает все изображение и следовательно не сможет пройти проверку.
Tags:captcha
Hubs: Lumber room
Total votes 24: ↑21 and ↓3 +18
Views404

Comments 27

Only those users with full accounts are able to leave comments. Log in, please.
Основы вёрстки сайтов
April 19, 202120,000 ₽Loftschool
Комплексное обучение PHP
April 19, 202120,000 ₽Loftschool
Комплексное обучение JavaScript
April 19, 202127,000 ₽Loftschool
Python-разработчик с нуля
April 19, 202169,900 ₽Нетология
Тестировщик ПО
April 19, 202160,000 ₽GeekBrains