Flash-платформа → Local Shared Objects — Флеш куки из песочницы
Вступления
Приветствую жителей хабры!
Часто бывает случаи, где нас обязывают сохранять данные над которыми работает пользователь во Flash (очки игры, оформления рабочей области и т.д.).
Многие думают что нужно создавать мост между PHP и Flash. В некоторых случаях это нужно делать, для того чтобы хранить долгое время в сети данные о тех или иных действиях пользователя. Но иногда требуется на стороне клиента сохранить данные, которые предназначены только для определения того, какую функцию пользователь выбрал и в зависимости от этого предоставить ему нужную информацию. Мы сегодня рассмотрим сохранения данных на компьютере, а именно Local Shared Object (далее LSO), что в народе иногда звется флеш куки.
Информационная безопасность → Покупка Plus аккаунта на vimeo.com
Одним зимним утром коллега по работе заметил, что в разных браузерах на странице Presenting Vimeo Plus, показывается разная стоимость подписки. У него это было $49.95 и $59.95. Сразу закрались подозрения, почему это Vimeo так странно проставляет стоимость годовой подписки. Хотя на моей машине все браузеры показывали одинаковую сумму.Информационная безопасность → Перехват cookie в реальном времени в открытых WiFi-сетях
На видео показан угон сессии вконтакте.ру, который почему-то до сих пор не использует авторизацию с https и передает пароли открытым текстом.
Дамп трафика собирается программой kismac в формате libpcap и параллельно парсится grep-ом с использованием регулярных выражений, что позволяет в реальном времени выводить на экран все интересующие куки и пароли. При этом не используется никаких анализаторов пакетов.
regexp для перехвата вконтакте.ру:
tail -F pcap.файл | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+»
для фейсбука:
c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}
Аналогичная конструкция будет работать и с дампом собранным с помощью airdump-ng.
Google → Персонализация для анонимов
Когда Google внедрил персонализированный поиск четыре года назад, он работал только для зарегистрированных пользователей, включивших опцию Web History, но теперь Google меняет своё поведение кардинальным образом. Отныне персональные настройки поиска будут действовать для всех пользователей, даже после окончания сессии (когда вы нажали “Sign out”) и даже у тех, кто ещё не завёл себе Google Account. Идентификация пользователей осуществляется через анонимные cookies.
Это правило действует по умолчанию для всех пользователей. Если вы не желаете видеть анонимную персонализацию, то нужно отключить её в настройках, либо просто стереть сookie.
История поиска для каждого анонимного пользователя Google сохраняется в течение 180 дней (для зарегистрированного — вечно, пока он сам не удалит её). Подробнее о персонализированном поиске и о новых правилах см. в официальном блоге Google.
Это правило действует по умолчанию для всех пользователей. Если вы не желаете видеть анонимную персонализацию, то нужно отключить её в настройках, либо просто стереть сookie.
История поиска для каждого анонимного пользователя Google сохраняется в течение 180 дней (для зарегистрированного — вечно, пока он сам не удалит её). Подробнее о персонализированном поиске и о новых правилах см. в официальном блоге Google.
Персональные блоги → Временное решение проблемы двух-буквенных доменов в IE
Пока Microsoft исправляет ошибку в своем браузере, мы придумали временное решение проблемы, но оно конечно же не идеальное. Поэтому, уважаемые хабрапользователи, если есть какие-то мысли, просьба помочь.
Что собственно придумали (ничего оригинального и выдающегося)
Если пользователь заходит на сайт Dj.ru с использованием IE и логиниться (будучи уже зарегистрированным), то после авторизации скрипт узнает версию его IE и, если это IE6,7, то принудительно выдает ему информацию о проблеме и предлагает пропатчить реестр. На какую бы ссылку он не нажал, ему выдается одна и та же страница с инфо пропатчить реестр (официально предложенный Microsoft). Пока не пропатчит — никуда попасть нельзя. Можно сделать вообще выдачу отдельного слоя с информацией и затемнением фона сайта, ну и т.п., вариаций много и это дело десятое.
Недостатки: 1. если пользователь не админ на компе, прав пропатчить реестр не хватит. 2. После патча в реестр пользователь должен разлогиниться на Dj.ru, закрыть все окна браузера, затем открыть снова и залогиниться, в общем танцы с бубном.
Если браузер IE8 — то выдается информация, что на данное время IE8 не может работать с двух-буквенным доменом Dj.ru из-за недочета Microsoft и предложение использовать другие браузеры.
Что собственно придумали (ничего оригинального и выдающегося)
Если пользователь заходит на сайт Dj.ru с использованием IE и логиниться (будучи уже зарегистрированным), то после авторизации скрипт узнает версию его IE и, если это IE6,7, то принудительно выдает ему информацию о проблеме и предлагает пропатчить реестр. На какую бы ссылку он не нажал, ему выдается одна и та же страница с инфо пропатчить реестр (официально предложенный Microsoft). Пока не пропатчит — никуда попасть нельзя. Можно сделать вообще выдачу отдельного слоя с информацией и затемнением фона сайта, ну и т.п., вариаций много и это дело десятое.
Недостатки: 1. если пользователь не админ на компе, прав пропатчить реестр не хватит. 2. После патча в реестр пользователь должен разлогиниться на Dj.ru, закрыть все окна браузера, затем открыть снова и залогиниться, в общем танцы с бубном.
Если браузер IE8 — то выдается информация, что на данное время IE8 не может работать с двух-буквенным доменом Dj.ru из-за недочета Microsoft и предложение использовать другие браузеры.
Веб-разработка → Символ подчеркивания в именах сайтов и cookie
Столкнулся сегодня с интересной проблемой, которая нагло выжрала 1.5 часа драгоценного времени. Надеюсь поможет другим избежать той же участи. :-)
Веб-разработка → (Java) Tomcat: делаем кросс-доменную сессию
Описание задачи:
Вы делаете проект на java под Tomcat. И решили организовать разделы своего сайта в виде поддоменов.
К примеру, на сайте www.domen.xx сделать разделы: mail.domen.xx, user.domen.xx и т.п. В какой-то момент разработки вы с удивлением обанружите, что пользовательская сессия вопреки ожиданиям существует строго в рамках одного домена. То есть юзер авторизовавшись на главной странице (www.domen.xx), переходя почту (mail.domen.xx), теряет авторизацию.
Дело в том, что сессия привязывается к клиенту через cookie с именем JSESSIONID и с пустым доменом. А когда домен не указан, браузер использует полный текущий домен. То есть сессия привязывается не к «domen.xx», а к «www.domen.xx». По неизвестной мне причине в Томкэте нет настроек позволяющих управлять этим поведением.
Персональные блоги → JFStorage: Альтернатива cookies
Навеяно топиком Альтернатива cookies посредством Java Script
Ипользование cookie ограничено 4 кб. размера, так же они видны пользователю.
При использование Flash Storage прочитать cookie немного сложнее и позволяет сохранять до 100 кб и выше данных на компьютере пользователя.
Размер: 3 кб.
Демо: http://jfstorage.agrr.org/JFStorage.html
Google Code: http://code.google.com/p/jfstorage
Часть работающая с SharedObject взята с http://ntt.cc/2008/07/13/the-source-code… и чуточку обработана напильником.
Взаимодействие между JavaScript и Flash написано мной. Использованы стандартные библиотеки.
Как хранилище скрытых данных.
Как хранилище больших данных.
Как способ offline-ой подгрузки данных.
Ипользование cookie ограничено 4 кб. размера, так же они видны пользователю.
При использование Flash Storage прочитать cookie немного сложнее и позволяет сохранять до 100 кб и выше данных на компьютере пользователя.
Управление очень простое:
setCookie(key,value) - установить печеньку
getCookie(key) - взять печеньку
removeCookie(key) - удалить печеньку
isExistCookie(key) - есть ли печенька?
Размер: 3 кб.
Демо: http://jfstorage.agrr.org/JFStorage.html
Google Code: http://code.google.com/p/jfstorage
Технологии
Часть работающая с SharedObject взята с http://ntt.cc/2008/07/13/the-source-code… и чуточку обработана напильником.
Взаимодействие между JavaScript и Flash написано мной. Использованы стандартные библиотеки.
Как можно использовать?
Как хранилище скрытых данных.
Как хранилище больших данных.
Как способ offline-ой подгрузки данных.
PHP → Безопасный метод авторизации на PHP
Примечание: мини-статья написана для новичков
Давайте посмотрим вокруг: форумы, интернет магазины, гостевые книги и т.д. используют регистрацию и последующую авторизацию пользователей. Можно даже сказать, что это почти необходимая функция каждого сайта (только если это не домашняя страничка Васи Пупкина или не визитная карточка, какой-нибудь небольшой компании). Сегодня я хочу поделиться со всеми новичками информацией, о том, как лучше это все реализовать.
Давайте посмотрим вокруг: форумы, интернет магазины, гостевые книги и т.д. используют регистрацию и последующую авторизацию пользователей. Можно даже сказать, что это почти необходимая функция каждого сайта (только если это не домашняя страничка Васи Пупкина или не визитная карточка, какой-нибудь небольшой компании). Сегодня я хочу поделиться со всеми новичками информацией, о том, как лучше это все реализовать.