0
<< предыдущая заметкаследующая заметка >>
18 февраля 2025
Тестируем базы данных своего браузера

Если вкратце: внезапно по ходу работы над одним из проектов выяснил странное. У каждого браузера есть некий объем, в котором сайты могут хранить свои данные. В зависимости от настроек это может быть 2Гб или 10Гб или 500Гб или вся свободная память вашего Айфона, ну или ее половина. И каждый из сайтов, даже на который вы случайно зашли, может незаметно для вас занять своими данными буквально её всю, ничего не оставив другим сайтам. А мы будем ходить и недоумевать, отчего это на диске (в телефоне) место кончилось, наверно фотки любимые надо удалить. А это просто какой-то httрs://xz-xz-noname.ru решил в вашем телефоне сто гигов забрать (ниже мы слово «забрать» будем писать через «с»). Но что мы всё о теории? Давай поговорим о тебе и твоем браузере. Сколько у тебя доступно памяти для сайтов, сколько занято? Сейчас посмотрим. Единственное, что я не смогу сказать, — кем именно занято. Остальное гляди:

Как это работает? На борту вашего браузера есть некие долгие Хранилища — место, где любой сайт может сохранить какую-то свою информацию для ваших следующих заходов. Сначала у браузеров были куки, которые позволяли хранить строчку. Затем localStorage — уже до 5-10 мегабайт (у Сафари 2-5 мегабайт) на каждый сайт, я его тоже использую чтобы хранить мелкие настройки и авторизацию. Однако во всех современных браузерах есть еще настоящая база данных. У нее куда шире возможности, а заодно — объемы. Формат работы с ней довольно безумный, и мне понадобилось пару суток с ChatGPG самой последней версии, чтобы сделать свою библиотечку DB.js с нормальными человеческими командами типа DB.add_table('my_database','my_new_table'), которые позволяют уже не думать о том, какая адская хрень с «событиями» и «сменами версий» происходит там под капотом.

Что делает моделька на этой странице? По кнопке создает в хранилище базу данных с именем test и в ней таблицу с именем random, после чего начинает набивать ее случайными числами, пока не заполнит всю вашу доступную для данных память. Что можно увидеть даже по тому, как разрастается папка «~/.mozilla/firefox/xxquqg1a/storage» на диске компьютера и как растет число используемого места в разделе «память» на Андроиде. Вы можете прервать процесс, перезагрузить страницу, выдернуть компьютер из розетки, но наложенное останется. И когда вы зайдете сюда снова, вы увидите, сколько занято.

Разумеется после удовлетворения любопытства я настоятельно рекомендую нажать кнопку — она очистит всё созданное (но только созданное моим сайтом, над чужими кладами я не властен). Руками из настроек браузера чистить не советую — сбросятся заодно все авторизации всех сайтов в localStorage, а они-то занимали копейки.

Firefox на моем компьютере позволяет любому из сайтов — например, lleo.me — засрать до 10Гб памяти (кажется, я ставил какое-то ограничение). Браузер моего мобильника предлагает для засирания существенно больше — 31Гб, то есть всё свободное место в мобильнике. Этот доступный объем может засрать любой из сайтов, кто первым додумается это сделать. Хорошо, когда это делает мой сайт по нажатию кнопочки. Плохо, когда делает другой и без вашего ведома.

Мне стало интересно, какие из посещенных мною сайтов воспользовались базой данных и какие объемы у меня хранят. Я отправился в папки firefox и получил такой топчик, в порядке возрастания:


https://translated.turbopages.org1869236
https://meduza.io1968871
https://sopuli.xyz1977983
https://www.notion.so2418751
https://experienceleague.adobe.com2879861
https://videotoday~Ccyberforum.ru%293375198
https://www.apollo.ee3569294
https://news.rambler.ru3810723
https://www.pobeda.aero4341141
https://open.spotify.com4344463
moz-extension://ae~82f9-4baca1d20cda4381694
https://www.omio.com4819941
https://developer.android.com4940850
https://onlinelibrary.wiley.com5540721
https://timeweb.cloud5681539
https://reittiopas.hsl.fi6654023
https://wormhole.app7768017
https://life.ru7849041
https://www.thevoicemag.ru10166K
https://www.vr.fi11518K
moz-extension://4e~9054-b42694833c9411620K
https://www.youtube.com11889K
https://www.phind.com12173K
https://www.united.com15975K
https://www.ryanair.com15982K
https://web.whatsapp.com17363K
https://www.wildberries.ru18234K
https://doka.guide21254K
moz-extension://b5~a038-249c753540b823674K
https://mail.google.com25375K
https://start.rt.ru (РЕКОРДСМЕН!)28322K
https://lleo.me (в процессе прерванных тестов)10238M

Многие из этих сайтов я вижу вообще впервые и совершенно не представляю, когда и по чьей ссылке я однажды мог там оказаться. Из получившегося топа регулярно я бываю только на Youtube. Остальные — случайные, например сайты продажи билетов — по ним я часто бегал в этом году в связи с поездкой, но может, и два года назад. Что они у меня до сих пор хранят? Рейсы блять старых самолетов? И особенно неприятно, что десятки мегабайт информации хранят на моем компьютере новостные сайты типа life.ru и meduza.io Что блять вы там храните у меня? Прошлогодние новости? Отдельная загадка с нашим рекордсменом: 28 мегабайт (!) хранит у меня на диске Ростелеком, в который я хожу раз месяц просто заплатить за интернет. Кирилл сообщает, что Ростелеком хвастается своим сервисом «распределенного хранилища». Уж не на наших ли компьютерах ты хранить придумал свои хранилища, Ростелеком, самый топовый пожиратель памяти после моей сегодняшней модельки на lleo.me? Но у меня хотя бы есть кнопочка «Очистить». А у вас, твари, жадные до чужих дисков?

Неплохо бы разработчикам браузеров запретить всякому случайному говну без спроса сохранять у меня на диске по 3 мега загадочной информации. Чтоб браузер выдавал вопрос, как для включения микрофона и камеры: «Вы доверяете этому сайту xyinya.xyi сохранить на вашем диске 11 мегабайт информации?» Либо хотя бы ставить лимиты, чтобы каждый сайт мог занять не больше, скажем, 5% доступного. Но браузер не предоставляет такого сервиса! Он молча позволяет любому занять любой объем.

UPD: У владельцев Айфонов очистка не сразу показывает 0%, глюк отображения в Айфоне. После повторного открытия браузера будет 0%, не волнуйтесь.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Вау, какие красивые рекламные баннеры! Делимся инфой с местными друзьями!
Лео Каганов: стихи

BERLIN

22 сентября
Бар «Kvartira 62» Lübbener Str.18
Лео Каганов: стихи

HANNOVER

23 сентября
19:00
Stadtteilzentrum Lister Turm Walderseestraße 100
Лео Каганов: стихи

MÜNCHEN

25 сентября
Kulturzentrum GOROD Arnulfstraße 197, 80634 München
Лео Каганов: стихи

С Л Ё Т

26-28 сен
Слёт-семинар под Нюрнбергом Jugendfreizeitstätte Edelweißhütte Deckersberg 34, 91230 Happurg 49.470549, 11.440136
Лео Каганов: стихи

?

Лео Каганов: стихи

NÜRNBERG

1 октября
Kulturladen Röthenbach. Röthenbacher Hauptstraße 74, 90449

Комментарии к этой заметке скрываются - они будут видны только вам и мне.

Оставить комментарий