Запомнить во всех браузерах
26 апреля 2012
Не так давно задался вопросом кроссбраузерного «запоминания» пользователя на сайте. Не потому, что действительно была такая потребность. Просто в пришло в голову и решил проверить, насколько это возможно. Оказывается, вполне возможно и даже применяется.
Логика подсказывает, что для того, чтобы несколько браузеров считали какое-то значение, значение должно быть установлено в нечто, которое всеми браузерами используется. Первым на ум приходит Flash. Его «Flash Cookie» или Local Shared Object оказывается вполне рабочим решением, которое используется, например, в Яндексе. Есть и в готовом виде с обёрткой для JavaScript.
Также стоит упомянуть evercookie. Штука очень «злая». Хранит информацию огромной кучей разных способов: обычные cookie, Flash, Silverlight, HTML5 LocalStorage и другие. Всего их 13. При попытке удаления части данных, библиотека их восстанавливает. Отлично должно подойти для отлова клонов, хотя, конечно, тут уже попахивает печеньками с тёмной стороны.
Комментарии RSS по email OK
evercookie не просто "злая" штука, она прожорлива как удав. пытался прикрутить на ннм, но ни к чему хорошему это не привело (((
flash тоже не вариант - не везде установлен, да и adblock вроде вырезает флеш со страницы.
adblock не удаляет флеш весь подряд только по фильтру.
evercookie как гидра )
Из заголовка почему-то подумал, что речь будет про добавить в закладки.
Своенравный этот evercookie. Чем стандартные куки не устроили для данной задачи ? Если XSS в проекте нет, то за их защищенность можно не волноваться.
А, все, понял. Стормозил. Спасибо....
Evercookie сохраняет данные во множестве мест, но только flash используется для доступа к ним из разных браузеров. Из него следует убрать некоторые методы (например, которыми он штурмует google), тогда он будет пошустрее. С флэшем получается не очень кроссбраузерная картина - в хроме метод JS из флэша вызывается, например, позже, чем в FF - приходится проверять или таймингом, или генерить событие. А это порождает другой гемор - сколько ждать ответа от флэша и стоит ли? В общем, не самое красивое решение, но единственное.
Да, еще может быть SilverLight, но это уже совсем эзотерика;)
То есть если для flash установить размер кеша в 0, то межбраузерное распознавание уже никакими другими способами не сработает?
Александр, если не установлен SilverLight.
Я его вообще не перевариваю и не вижу смысла ставить. Нет не чего на данный момент такого важного, что бы заставило меня поставить сильверлайт