<rmcreative>

RSS

Запомнить во всех браузерах

26 апреля 2012

Не так давно задался вопросом кроссбраузерного «запоминания» пользователя на сайте. Не потому, что действительно была такая потребность. Просто в пришло в голову и решил проверить, насколько это возможно. Оказывается, вполне возможно и даже применяется.

Логика подсказывает, что для того, чтобы несколько браузеров считали какое-то значение, значение должно быть установлено в нечто, которое всеми браузерами используется. Первым на ум приходит Flash. Его «Flash Cookie» или Local Shared Object оказывается вполне рабочим решением, которое используется, например, в Яндексе. Есть и в готовом виде с обёрткой для JavaScript.

Также стоит упомянуть evercookie. Штука очень «злая». Хранит информацию огромной кучей разных способов: обычные cookie, Flash, Silverlight, HTML5 LocalStorage и другие. Всего их 13. При попытке удаления части данных, библиотека их восстанавливает. Отлично должно подойти для отлова клонов, хотя, конечно, тут уже попахивает печеньками с тёмной стороны.

Комментарии RSS

  1. №6173
    aktuba
    aktuba 26.04.2012, 9:04:49

    evercookie не просто "злая" штука, она прожорлива как удав. пытался прикрутить на ннм, но ни к чему хорошему это не привело (((

    flash тоже не вариант - не везде установлен, да и adblock вроде вырезает флеш со страницы.

  2. №6176
    funivan
    funivan 26.04.2012, 11:48:58

    adblock не удаляет флеш весь подряд только по фильтру.

  3. №6178
    Gamer
    Gamer 26.04.2012, 21:23:03

    evercookie как гидра )

    Из заголовка почему-то подумал, что речь будет про добавить в закладки.

  4. №6179
    Максим
    Максим 26.04.2012, 23:22:50

    Своенравный этот evercookie. Чем стандартные куки не устроили для данной задачи ? Если XSS в проекте нет, то за их защищенность можно не волноваться.

  5. №6180
    Максим
    Максим 26.04.2012, 23:23:30

    А, все, понял. Стормозил. Спасибо....

  6. №6191
    minimalist
    minimalist 04.05.2012, 20:17:47

    Evercookie сохраняет данные во множестве мест, но только flash используется для доступа к ним из разных браузеров. Из него следует убрать некоторые методы (например, которыми он штурмует google), тогда он будет пошустрее. С флэшем получается не очень кроссбраузерная картина - в хроме метод JS из флэша вызывается, например, позже, чем в FF - приходится проверять или таймингом, или генерить событие. А это порождает другой гемор - сколько ждать ответа от флэша и стоит ли? В общем, не самое красивое решение, но единственное.

  7. №6192
    minimalist
    minimalist 04.05.2012, 20:19:44

    Да, еще может быть SilverLight, но это уже совсем эзотерика;)

  8. №6211
    Александр
    Александр 12.05.2012, 11:05:26

    То есть если для flash установить размер кеша в 0, то межбраузерное распознавание уже никакими другими способами не сработает?

  9. №6212
    Sam
    Sam 13.05.2012, 1:53:49

    Александр, если не установлен SilverLight.

  10. №6247
    Roman
    Roman 26.05.2012, 14:07:05

    Я его вообще не перевариваю и не вижу смысла ставить. Нет не чего на данный момент такого важного, что бы заставило меня поставить сильверлайт

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.