
Как-то утром для реализации одного небольшого, но забавного гео-политического социо-сетевого проекта мне понадобилось легко и непринужденно отделять посетителей, пользующихся Mac OS X от посетителей, вынужденных наслаждаться другими операционными системами. Работать это должно было так, чтобы неумышленно обдурить распознавание было нелегко, даже сменив описание броузера или отключив JavaScript. Стремясь найти наиболее изящное решение, я решил посмотреть пару серий аниме Cowboy Bebop и решить проблему не в лоб. Например, выпадающий список «What’s your OS?» был отвергнут в первые же миллисекунды.
Не все пользователи Mac OS X знают и почти все пользователи других операционных систем не подозревают, что если в любом текстовом поле в Mac OS X нажать комбинацию Shift+Option+K (Shift+Alt+K), то появится не очередная буква, а логотип Apple. Это работает везде (кроме Фотошопа и Иллюстратора ;). Мало того, другие операционные системы не показывают этот символ в Юникод-кодировках, заменяя его на знак вопроса. Так что первое решение было простым и очевидным:

Скопировать яблоко не в Mac OS X невозможно, ввести каким-то невероятным способом — тоже. Но сложная комбинация для ввода невероятно усложняла форму, хоть и потенциально отсеивала роботов. Что ж, тогда спрячем все от пользователя и заставим броузер выполнять его работу:
<input type="hidden" value="" name="areugay" />
Для тех, кто видит value=”?” я приложу картинку того, как это выглядит в Safari:

При отправке формы скриптам на сервере, броузер отправит тот символ, который поймет. Если дело будет происходить под Mac OS X, то сервер получит логотип Apple Inc., а если под управлением другой операционной системы, то знак вопроса.
![]()
Открытым остается лишь вопрос, как все это проверять на сервере, но мне кажется, что можно решить и это ;)
Tweet


areugay?
> Открытым остается лишь вопрос, как все это проверять на сервере, но мне кажется, что можно решить и это ;)
Имхо, на сервер в обоих случаях прийдёт один и тот же юникод символ (то, что браузер не может его отобразить роли не играет).
Огромное спасибо за инфу. Автору респект и уважуха.
рыба3, тогда пусть вводят ;)
Полезный вывод. Думаю пригодится.
Всё таки, мне кажется что, при отправке формы на сервер с windows платформ будет прилетать знак вопроса. Я не проверял, но вывод такой сделал на примере ICQ, когда мне пишут (у меня Mac OS X) с XP, то я получаю непонятный набор символов, отправляя его назад, пользоватль соответственно получает тот же набор “кракозяб” :)
Зер гуд ставлю 5 балов.
Классная тема, пишите чаше – у вас отлично получается
Отличная статья, спасибо!
хороший рассказ, все разложено по полкам
Спасибо. Прочитал с интересом, и вообще полезный у Вас блог
Хорошая статья, узнал много нового!)
Спасибо за Ваш труд!!
Спасибо ;)
Забавно! Не то слово!
Жжешь, дружищще))
Отличная статья Спасибо огромное
Спасибо. Прочитал с интересом, и вообще полезный у Вас блог
Занятная статья
а-а, спасибо )
Добавил в закладки. Днесь буду почаще декламировать!