Еще о защите от роботов, грузинский алфавит, FL90
Всем привет!
В середине месяца мой организм срочно затребовал отдыха, понизив температуру до 35°С. Пришлось дать ему отдохнуть. Теперь я снова в строю.
Технологии защиты от программной регистрации совершенствуются. Я уже как-то писал про метод обхода технологии, по сей день применяемой на Chat.RU.
Недавно, на одном из сайтов я увидел, на первый взгляд, довольно удачную схему защиты. Идея в следующем. На последнем этапе регистрации пользователю предлагается удалить из слова, написанного с ошибкой, лишнюю букву. Слова достаточно простые, человек с легкостью справился бы с такой задачей. Машине куда сложнее.
Но, как известно, на каждое действие найдется противодействие. Для обхода защиты мне пришло в голову использовать сервисы портала «Яndex». Многие его сервисы (например, энциклопедии, пытаются исправить опечатки в словах, введенных клиентом, предлагая варианты написания.
Написать скрипт, который бы послал запрос на сервер и вычленял из ответа вариант написания — минутное дело. Я эту минуту потратил, скрипт ниже. Интересно, сколько писали защиту?
#!/usr/bin/perl
use LWP::UserAgent;
exit unless @ARGV;
$url = 'http://lingvo.yandex.ru/cgi-bin/lingvo.pl?text=';
$ua = LWP::UserAgent->new();
$res = $ua->request(HTTP::Request->new(GET => $url.$ARGV[0]))->content;
if ($res =~ m{<a href="/cgi-bin/lingvo.pl\?CardId=[^>]+">([^<]+)>/a>}s)
{
print $1;
} else
{
print shift;
};
print "\n";
Занимает он всего 300 байт с копейками и легко справляется с подобного рода защитой. Бесплатные сервисы — великая вещь!
Такое ощущение, что о программировании на PHP стали писать все, кому не лень. Тому пример. Ужасающее количество ошибок в статье. Предлагаю, в качестве развлечения, попытаться их найти. Утверждается, что писал профессионал в области программирования на PHP (интересно, а что это вообще значит, «профи по PHP»?).
В ответ на публикацию в предыдущем выпуске глаголицы, Teimuraz Abashidze прислал мне табличку с различными грузинскими алфавитами. Третий столбец — современный алфавит (кроме 5-ти символов, которые сейчас не используются).
Тоже весьма, с эстетической точки зрения, приятный алфавит. Вот, например, как выглядит дата моего рождения, записанная грузинскими буквами (если, конечно, правила записи цифр там такие же, как и те, к которым я привык):
Teimuraz Abashidze считает, что ничего общего у этого алфавита с глаголицей нету. Мне кажется, что алфавиты весьма похожи. Ни у кого нет сведений о том, находятся эти алфавиты в родстве или нет?
По поводу синхронизации с писюком при помощи мигания экраном. Устройств с таким способом ввода намного больше, чем я ожидал. Видимо, они просто недостаточно разрекламированы. Например, о следующем устройстве, о котором мне написал Niclaus, в интернете почти ничего нет.
N>> Доброго времени суток! По поводу часов фирмы Timex. Не только часы. У
N>> меня есть карманный органайзер (часы, будильник, шедулер, календарь,
N>> записная книжка), который коннектится с PC таким же образом. Памяти в
N>> нём 8 kb, и придавалась к нему дискета с программой под Windows, в
N>> которой можно записать данные в телефонную книжку, шедулер и т. д.,
N>> время синхронизируется с часами компьютера. При нажатии кнопки
N>> «передать данные» монитор чернеет, а потом по нему начинают бежать
N>> белые полоски. Органайзер видит всё это через фотодиод и пищит, если
N>> данные передаются без ошибок. Из 8 килобайт памяти органайзера
N>> вручную, т. е. с его клавиатуры , можно заполнить только 2, остальные 6
N>> — только при помощи PC. Удобная вещь! Купил 3 года назад в Англии, до
N>> сих пор пользуюсь. И ещё, насколько помню, поддержка подобных
N>> устройств была встроена в Outlook 97, по поводу следующих версий — не
N>> знаю.ES> А как девайс называется?
Royal FL90 pc organizer
Производит его всё та же Timex, но на сайте компании я ничего, кроме ссылки на софт для этого органайзера не нашел. То ли товар не является приоритетным, то ли снят с производства.
Интересно, кстати, появятся ли устройства, которые смогут не только воспринимать данные с экрана, но и сами «мигать в писюх», каким-нибудь дешевым способом. Например, механически нажимать клавишу, к которой его поднесут. На пробел, скажем, или клавиши мыши. Можно управлять длительностью и скоростью. Думаю, из этого может что-то получиться… :)
Пишите!