Рубрика «cookies» - 4

Ясные печенькиПривет! В свете информации, посвященной безопасности аккаунтов крупных порталов, появившейся в последнее время, я решила немного пересмотреть cookie авторизацию в своих проектах. В первую очередь был допрошен с пристрастием гугл на тему готовых решений. Ничего толкового не нашлось, хотя может статься и так, что я не умею пользоваться поиском. После этого я решила посмотреть, что же вообще пишут про то, как правильно жевать печенье. Моему удивлению не было границ, когда в основной массе оказались статьи из разряда «вредные советы», и то что я читала более 5-и лет назад.
Эта статья — попытка исправить сложившуюся ситуацию.
Читать полностью »

Знаете ли вы, что субдомен sub.host.com может ставить куки для *.host.com? Наверняка, да.
А как много он может их поставить? Очень много.
А сколько браузер будет отправлять их впоследствии? Все!

А что получится, если «заспамить» главный домен своими куки-бомбами? На всей системе .host.com все запросы будут иметь супер длинный хедер Cookies, добавленный браузером, и эти запросы не будут обрабатываться сервером из-за слишком большого размера.

Читать полностью »

Возможности для слежки за пользователями интернета не ограничиваются cookies и логами провайдера или оператора сотовой сети. Любой сайт может легко получить доступ к информации о версиях браузера и ОС клиента, установленных плагинах, разрешении экрана и так далее. Совокупность этой информации даёт возможность узнавать конкретного клиента миллионов других. Для смартфонов эта проблема стоит ещё острее — характеристики их железа гораздо богаче за счёт большого числа датчиков — микрофонов, камер, акселерометров, гироскопов, магнитометров.

Христо Божинов из Стэнфордского университета продемонстрировал, что микроскопические отличия в показаниях акселерометра смартфона достаточно индивидуальны и позволяют отличить его от тысяч других. Причём эти показания могут быть доступны любому сайту в интернете. Для проверки концепции и сбора статистики Божинов создал сайт sensor-id.com, зайдя на который со смартфона, можно узнать, доступны ли данные вашего акселерометра для JavaScript, и если да, насколько индивидуален ваш смартфон. По словам Божинова, выделить индивидуальный «отпечаток» датчика можно даже из весьма шумного сигнала, например, пока смартфон болтается в кармане.

image
Различия в показаниях акселерометров в состоянии покоя для 16 смартфонов
Читать полностью »

Храним сессии на клиенте, чтобы упростить масштабирование приложения (3 я из 12 статей о Node.js от команды Mozilla Identity)От переводчика: Это третья статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Эта статья посвящена применяемому в Persona способу хранения данных сессии на клиенте.


Статические веб-сайты хорошо масштабируются. Их легко кэшировать, и не нужно постоянно синхронизировать данные на нескольких серверах.

К сожалению, большинство веб-приложений должны хранить информацию о состоянии, чтобы предлагать пользователям персонализированные страницы. Если пользователи могут регистрироваться на сайте, то нам надо хранить сессии. Самый распространенный способ — установить cookie со случайным идентификатором сессии, а детали хранить на сервере.

Масштабирование сайта с хранением состояния

Если необходимо масштабировать такой сайт, есть три варианта:

  1. Реплицировать данные сессии между всеми серверами.
  2. Использовать центральное хранилище, к которому будут обращаться все серверы.
  3. Закрепить за каждым пользователем определённый сервер.

У всех этих подходов есть недостатки:

  1. Репликация ухудшает производительность и увеличивает сложность.
  2. Центральное хранилище ограничивает возможность масштабирования и приводит к дополнительным задержкам.
  3. Привязка пользователей к конкретным серверам приводит к проблемам, когда сервер отключается.

Тем не менее, поразмыслив немного, можно придумать и четвёртый способ: хранить все данные сессии на клиенте.
Читать полностью »

Всем доброго времен суток!

Частенько возникает надобность хранить какой-то кусок информации у клиента, чтобы не создавать лишних запросов к серверу, тем самым снимая с него лишнюю нагрузку. Так же удобно хранить какую-нибудь мелкую информацию на стороне клиенте, чтобы можно было быстро воспользоваться ей, когда нужно.Чаще всего программисты используют для это cookies, но сегодня я бы хотел рассказать о другом способе. И я надеюсь, что он нравится вам больше.
Читать полностью »

Аутентификация по новому, или суперкукиНа сегодняшний день идея ухода от паролей и традиционных методов аутентификации на веб-ресурсах поднимается все чаще, причем этим озаботились такие гиганты IT-индустрии, как Google, Paypal и другие члены альянса FIDO. В рамках научных исследований, проводимых сотрудниками Google, были предложены способы усовершенствования методов аутентификации, а также черновик стандарта расширения TLS, позволяющего избавиться от использования cookies.

В данной статье я расскажу о проблемах традиционных схем аутентификации, о подводных камнях при введении двухэтапной аутентификации и рассмотрю предложенный стандарт расширения TLS. Текст статьи будет полезен веб-разработчикам, планирующим встроить двухэтапную аутентификацию.

Читать полностью »

Цель урока: Изучить способ авторизации через Cookie, использование стандартных атрибутов доступа к контроллеру и методу контроллера. Использование IPrincipal. Создание собственного модуля (IHttpModule) и собственного фильтра IActionFilter.

Небольшое отступление: На самом деле в asp.net mvc все учебники рекомендуют пользоваться уже придуманной системой авторизации, которая называется AspNetMembershipProvider, она была описана в статье http://habrahabr.ru/post/142711/ (сейчас доступ уже закрыт), но обьяснено это с точки зрения «нажимай и не понимай, что там внутри». При первом знакомстве с asp.net mvc меня это смутило. Далее, в этой статье http://habrahabr.ru/post/143024/ — сказано, что пользоваться этим провайдером – нельзя. И я согласен с этим. Здесь же, мы достаточно глубоко изучаем всякие хитрые asp.net mvc стандартные приемы, так что это один из основных уроков.

Читать полностью »

Продолжается серия публикаций по разработке расширений Google Chrome. Правда, этим постом она и заканчивается, потому что на текущий момент больше мне нет чего поведать по этому поводу. Что будет дальше – посмотрим.
В этом топике я расскажу о кастовании уличной магии на примере работы с cookies и низкоуровневой обработки HTTP-запросов. Материал этого поста полностью основан на моём первом расширении, которое впоследствии обросло неплохим функционалом.
Читать полностью »

Три дня назад (1 февраля) Roger Wang объявил о выходе новой версии движка node-webkit — созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.4.1; на её основе нетрудно составить и запустить, например, вот такое окно:

[скриншот]

Почти семь недель прошло с того дня (18 декабря), когда я обозревал одну из предыдущих версий (0.3.6) этого движка. Вам нетрудно заметить, что за это время успела перемениться не только последняя, но и предпоследняя цифра версии. Сейчас я расскажу, какие изменения, в node-webkit произошедшие, отражает эта перемена.

Читать полностью »

Ваш сайт все более популярен, рекорды посещаемости бьются еженедельно. Вы подключаете кеширование, разбираетесь в нюансах настроек, оптимизируете. Но наступает момент когда одного сервера уже никак не достаточно, а переход на самую классную в мире железяку не находит полного понимания у начальства. Ах да, ID пользователя Вы храните в Сессии PHP в файле, и вроде бы уже морально готовы положить все в базу данных, как рекомендует Интернет… Но что-то Вас останавливает.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js