FingerprintJS не использует эту уязвимость в своих продуктах и не предоставляет сервисы межсайтового отслеживания. Мы боремся с мошенничеством и поддерживаем тенденцию полного устранения межсайтового отслеживания.
Рубрика «indexeddb»
Уязвимость Safari 15 может легко раскрыть вашу личность любому веб-сайту
2022-01-16 в 11:37, admin, рубрики: CORS, indexeddb, iOS, iPadOS, safari, skillfactory, безопасность веб-приложений, Блог компании SkillFactory, браузеры, информационная безопасность, планшеты, утечки, Читальный залПочему uBlock Origin лучше работает в Firefox
2021-04-22 в 6:30, admin, рубрики: chromium, DNS, Firefox, Google Chrome, HTML-фильтры, indexeddb, lz4, uBlock Origin, webassembly, WebRequest.filterResponseData, Блог компании VDSina.ru, блокировщик рекламы, браузеры, запись CNAME, клоакинг CNAME, Расширения для браузеров
Автор uBlock Origin и uMatrix Реймонд Хилл обновил памятку, почему расширение uBlock Origin наиболее эффективно работает в браузере Firefox. Некоторые технические детали относятся не только к uBO, но и к другим блокировщикам рекламы.
Реймонд Хилл называет несколько основных факторов: более эффективное вскрытие маскировки CNAME, HTML-фильтрация, поддержка WebAssembly, более корректная процедура запуска браузера, сжатие LZ4 и надёжно отключённый префетчинг ресурсов. Всё это есть в Firefox, но отсутствует или глючит в браузерах на основе Chromium.
Читать полностью »
Карманный OLAP на Javascript и производительность IndexedDB
2018-12-13 в 15:01, admin, рубрики: indexeddb, javascript, pwa, Алгоритмы, ПрограммированиеЗдравствуй!
Недавно я решил протестировать производительность Javascript на примере создания несложного WEB-приложения, умеющего строить сводные таблицы, вычислять агрегаты и подтягивать атрибуты из справочников, используя слабо-структурированные данные в качестве источника. Повторить весь функционал Excel или взрослых OLAP-систем не предполагалось, но хотелось протестировать производительность Javascript вообще и IndexedDB в частности на различных десктопных и мобильных браузерах. Забегая вперед, скажу, что выполнив первый этап работы — построение сводной таблицы однопроходным алготитмом по хранилищу фактов (индексирование часто-используемых разрезов и кэширование вычисленных агрегатов отложено на будущее) — я был разочарован производительностью чтения из IndexedDB, удивлен тем, что мобильные браузеры практически не отстают от десктопных, и озадачен эпическим провалом моего любимого Firefox в одном из тестов. Всего было 2 теста с различными вариациями:
- формирование сводной таблицы, где основа алгоритма — единственный цикл по курсору IndexedDB, работа с объектами Object, Array, Set, Map (извлечение по ключу, вставка, итерация), конкатенация строк и простая арифметика;
- расшифровка (drillthrough) строки сводной таблицы с выводом результата в DOM, где основа алгоритма — многократное (в цикле) извлечение одной записи из IndexedDB по ключу, и последующий вывод результатов в таблицу html группами по 100 строк методом insertAdjacentHTML('beforeEnd', html)).
Тестирование проводилось на файле JSON, содержащем 20 тыс. фактов, из которых 9 записей представляли собой справочник продуктов, остальные изображали операции купли/продажи. Табличка с результатами тестирования на нетбуке и телефоне (время в секундах), а также подробности реализации и выводы — под катом.
Читать полностью »
Генерация страниц сайта средствами сервис-воркеров
2018-04-11 в 7:00, admin, рубрики: cache, html, indexeddb, javascript, offline, progressive web apps, pwa, service worker, serviceworker, Блог компании Mail.Ru Group, Разработка веб-сайтов
(С)
Из этой статьи вы узнаете, как прямо на мобильном устройстве, в браузере, создать страницу со списком закэшированных ранее материалов сайта, чтобы условный, застрявший в лифте пользователь, не скучал без интернета. По мере приближения к цели мы коснемся следующих тем:
- кэширование страниц сайта для офлайн доступа;
- ведение учета страниц, доступных офлайн, проброс необходимых данных;
- мониторинг статуса сети, онлайн или офлайн;
- общение сервис-воркера со страницами и вкладками, которые он обслуживает;
- перехват сервис-воркером запроса на открытие адреса
/offline/
и генерирование новой страницы прямо на устройстве, без запроса к серверу.
Если тема сервис-воркеров и Progressive Web Apps (PWA) для вас новая, то перед чтением этой статьи необходимо познакомиться с ними поближе.
Меня зовут Рыбин Павел, я работаю во фронтенд-разработке Медиапроектов Mail.Ru Group. Это руководство мне помогали писать грабли, набитые шишки и подводные камни, попавшиеся мне при реализации PWA для мобильной версии Авто Mail.Ru.
В тексте будут встречаться небольшие примеры кода, иллюстрирующие рассказ. Расширенную же демо-версию можно посмотреть на GitHub.
Читать полностью »
Подводные камни Service Workers
2018-03-14 в 12:45, admin, рубрики: cache, html5, indexeddb, javascript, Service Workers, worker, Разработка веб-сайтовВ этом коротеньком очерке я опишу те вещи о service workers, о которых я бы хотел прочесть год или хотя бы полгода назад и тем самым избежать очень долгого и мучительного периода отладки приложения.
Если вы попали сюда по запросу типа «какого черта мой сервис воркер не работает на продакшене?», добро пожаловать под кат.
Читать полностью »
Непредсказуемые последствия оптимизации производительности Chrome
2017-03-21 в 20:18, admin, рубрики: Google Chrome, indexeddb, javascript, асинхронность, разработка сайтовПривет! В последнем релизе Chrome обнаружил очень необычное поведение браузера. Это поведение вызывало новые необычные ошибки в моём веб-скрипте. И я решил поделиться, как оптимизируют производительность Chrome, и про то, с какими необычными последствиями можно столкнуться.
Поехали.
LocalForage: кроссбраузерное локальное хранилище от Mozilla
2014-02-15 в 16:54, admin, рубрики: indexeddb, javascript, localForage, localStorage, WebSQL, Блог компании Нордавинд, Веб-разработка, локальное хранилище, оффлайн-приложенияУже довольно давно у веб-приложений появилась возможность хранить часть данных или файлов локально. Можно даже кешировать MP3-файлы. Браузеры научились хранить немалые объёмы данных. Тем не менее, пока что технологии локального хранения сильно фрагментированы.
localStorage предоставляет лишь самые базовые функции, это хранилище довольно медленно и не умеет хранить блобы. IndexedDB и WebSQL асинхронны, быстры и поддерживают большие объемы данных, но их API довольно запутан. Кроме того, ни IndexedDB, ни WebSQL не поддерживаются всеми основными браузерами, и, похоже, в ближайшем будущем эта ситуация не изменится.
Если вам нужно писать веб-приложение с оффлайн-режимом, и вы не знаете, с чего начать, то эта статься для вас. Если вы уже пытались работать с локальными хранилищами, и у вас от этого голова пошла кругом — статья и для вас тоже. Мы в Mozilla написали библиотеку localForage, которая значительно облегчает задачу хранения локальных данных в любом браузере.
Почувствовать на своей шкуре все сложности работы с локальным хранилищем мне помогла разработка around — HTML5-клиента для Foursquare. Хотя в этой статье я рассказываю, как использовать localForage, возможно кто-то предпочтёт изучить реальные примеры работы с ней.
localForage — очень простая библиотека JavaScript, которая использует API, похожий на API localStorage, с теми же самыми базовыми методами get
, set
, remove
, clear
и length
, но имеет ещё несколько важных улучшений:
- асинхронный API с колбэками;
- драйвера IndexedDB, WebSQL и localStorage (самый подходящий драйвер выбирается автоматически в зависимости от возможностей браузера);
- поддержка блобов и произвольных форматов данных, так что можно хранить изображения, файлы и так далее;
- поддержка обещаний ECMAScript 6.
Использование IndexedDB и WebSQL позволяет хранить намного больше данных, чем localStorage. Неблокирующий асинхронный API делает приложение более быстрым и отзывчивым, так как основной поток приложения не подвисает во время выполнения вызовов get/set
. Поддержка обещаний позволяет писать чистый код без спагетти из колбэков. Конечно, если вы любите колбэки, можно использовать и их.
Читать полностью »
IndexedDB — безлимитное хранение данных
2013-10-23 в 12:07, admin, рубрики: chrome extension, Google Chrome, indexeddb, javascript, javascript library, метки: chrome extension, indexeddb, javascript library Добрый день, уважаемое сообщество.
Для тех, кто не в курсе, что такое IndexedDB и с чем его едят можно, почитать здесь.
А мы идем далее.
Безлимит
В конторе в которой я работаю появилась необходимость использования индексированной локальной базы данных на стороне клиента и выбор сразу пал на IndexedDB.
Но как всегда есть одно «НО», это самое «НО» — ограничение размера БД на машине пользователя в размере 5 МБ, что отнюдь нас не устраивало. Так как данная технология планировалась использоваться в админке нашего проекта и все юзеры использовали в качестве дефолтного браузера Google Chrome, то было принято решение поиска обхода того самого ограничение через расширение-прокси. Перелопатив много инфы мы пришли к выводу, что ограничение на размер БД можно убрать использовав специальные флаги в манифесте нашего расширения:
Читать полностью »
Интерфейс модуля fs из API Node.js частично портирован во браузерный (клиентский) JavaScript
2013-08-30 в 10:04, admin, рубрики: indexeddb, javascript, Node, node.js, nodejs, Веб-разработка, метки: indexeddb, Node, node.js, nodejsБольшинству программистов на языке JavaScript, успевших ознакомиться с Node.js, хорошо известен модуль fs, который в API Node служит для доступа к файловой системе.
Matthew Phillips (на фото справа) предпринял успешную попытку создания во браузерном (клиентском) джаваскрипте частичного аналога этого нодовского модуля. Исходный код, опубликованный им на ГитхабеЧитать полностью »
Карты в браузере без сети: open source наносит ответный удар
2013-03-11 в 10:18, admin, рубрики: application cache, html5, indexeddb, javascript, Leaflet, MapBox, Maps API, offline web applications, openlayers, OpenStreetMap, метки: application cache, html5, indexeddb, Leaflet, MapBox, offline web applications, openlayers Как-то давно я писал о том как можно в вебе использовать карты без сети и пытался сделать это с помощью гугло карт. К сожалению условия использования запрещали модифицировать ресурсы, а написанный мною код работал только с localstorage
, поэтому я решил перейти на светлую сторону силы, где код открыт, прост и понятен.Читать полностью »