Обновить
52.07

Браузеры

Веб-обозреватели

Сначала показывать
Порог рейтинга
Уровень сложности

Vivaldi 5.7 — Множественное в единственном

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.6K

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

Читать далее

Что такое браузерный сэндбоксинг?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

В стремительно меняющихся условиях современного цикла веб-разработки одним из самых серьёзных вопросов для разработчиков и тестеров становится безопасность. Сложность создания и развёртывания современных веб-приложений приводит к увеличению количества уязвимостей. Согласно отчёту Cost of Data Breach компании IBM и Ponemon Institute, в 2021 году потери, связанные с утечками данных, выросли с $3,86 миллиона (средние потери в 2019 году) до $4,24 миллиона, что стало самыми высокими средними убытками за семнадцать лет ведения этого отчёта.

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

В этой статье мы расскажем, что такое сэндбоксинг браузера, объясним преимущества и важность разных типов сэндбоксинга, и поможем в его реализации.
Читать дальше →

Эксплойтинг браузера Chrome, часть 2: знакомство с Ignition, Sparkplug и компиляцией JIT в TurboFan

Уровень сложностиСложный
Время на прочтение50 мин
Количество просмотров8.4K

В моём предыдущем посте мы впервые погрузились в мир эксплойтинга браузеров, рассмотрев несколько сложных тем, которые были необходимы для освоения фундаментальных знаний. В основном мы изучили внутреннюю работу JavaScript и V8, разобравшись, что такое объекты map и shape, как эти объекты структурированы в памяти; мы рассмотрели базовые оптимизации памяти наподобие маркировки указателей и сжатия указателей. Также мы затронули тему конвейера компилятора, интерпретатора байт-кода и оптимизации кода.

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

В сегодняшнем посте мы вернёмся к конвейеру компилятора и ещё глубже разберём некоторые из рассмотренных ранее концепций: байт-код V8, компиляцию кода и оптимизацию кода. В целом, мы рассмотрим происходящее внутри Ignition, Sparkplug и TurboFan, поскольку они критически важны для понимания того, как определённые «фичи» могут привести к появлению багов, которые можно эксплойтить.
Читать дальше →

Баг Safari, которого никогда не было

Время на прочтение5 мин
Количество просмотров3.1K
В октябре 2021 года мой коллега-разработчик Иэн опубликовал сообщение в канале поддержки GOV.UK Design System в Slack:

«Интересно, а кто-нибудь заметил, что Safari Technology Preview как-то странно влияет на заголовок, баннер бета-версии и кнопки сайта?»

Safari Technology Preview — это версия браузера Safari для «предварительного ознакомления с будущими веб-технологиями в macOS и iOS». Большинство создателей браузеров предоставляет подобные версии своих браузеров, чтобы разработчики могли тестировать новые функции.

После сообщения Иэна мы посмотрели на Design System в Safari Technology Preview.


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

Состояние WebAssembly в 2022-23 годах

Время на прочтение8 мин
Количество просмотров5.8K

Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский — “WebAssembly в действии” (Питер, 2022). Предыдущий обзор The State of WebAssembly – 2021 and 2022 опубликован автором в январе 2022 года. — Прим. переводчика.

В этой статье я рассмотрю текущее состояние дел с WebAssembly (wasm). Начну с обзора событий 2022 года, чтобы посмотреть, сбылись ли какие-либо из моих прогнозов и не было ли каких-то сюрпризов. Затем я попытаюсь предсказать, куда, как мне кажется, всё пойдёт в 2023 году.

Читать далее

Как войны браузеров изменили ландшафт Интернета

Время на прочтение15 мин
Количество просмотров10K

Google Chrome уверенно доминирует над остальными браузерами, занимая более 60% мирового рынка. Но так было далеко не всегда. Более 10 лет Internet Explorer, установленный почти на каждом компьютере, сохранял статус самого главного браузера. А потом наступила жесткая конкурентная борьба, которую иногда называют «браузерными войнами».

В наши дни Internet Explorer живет в нашей памяти преимущественно благодаря мемам — он проиграл в борьбе с младшими соперниками. В начале марта 2021 года Microsoft прекратила поддержку классической версии браузера Edge, преемника Internet Explorer. Компания сосредоточилась на разработке обновленного Edge на основе движка Chromium, что еще раз подтверждает тотальное господство Google.

Читать далее

Js, трюки, наблюдения, бенчмарки и как Лиса уничтожает Хром. Я протестировал всё, что вам было лень

Время на прочтение4 мин
Количество просмотров26K
Картинка, конечно, стронгли анрилейтед

Разные трюки я тестировал на Google Chrome 107.0.5304.107 и Mozilla Firefox 107.0 на Windows 10.

Чтобы результаты всегда были железно воспроизводимыми, я отключил все С-State’ы, ядра зафиксировал на 5 ГГц.

У меня 9900К, это Coffee Lake c AVX256, какие оптимизации применит Jit для вашего процессора — я не знаю, результат на вашем компьютере может отличаться от моего, в т.ч. из-за микроархитектуры процессора.

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

Красивая иконка на табло Яндекс Браузера

Время на прочтение6 мин
Количество просмотров11K

Переведя статью об иконках сайта, я конечно же решил настроить всё как надо на своих проектах. То есть на личном сайте и сервисе по генерации иконок (было бы странно создавать такой сервис, и не настроить для него иконки как следует). Однако, столкнулся с парочкой проблем. 

Читать далее

Полный обзор webpack

Время на прочтение9 мин
Количество просмотров16K
image

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

Важность организации никогда нельзя недооценивать; она приносит пользу не только отдельным программистам, но и всем, кто будет использовать ту же базу кода в будущем. Если вы решили управлять своим кодом с помощью модулей, вам нужен сборщик модулей, и нет лучшего сборщика, чем webpack.
Читать дальше →

Добавляем RSS-читалку в Brave

Время на прочтение3 мин
Количество просмотров1.4K

TL;DR: Новости Brave запускают интегрированные подписки RSS, локально персонализированные новостные предложения, а также добавляют новые источники контента и каналы посредством Поиска Brave (и другие улучшения). 

Brave предлагает то, что вы ждёте от новостей (новый контент, обновления подписок, персонализированные предложения) напрямую в вашем браузере. Вам не нужно больше полагаться на централизованные сервера, так как Новости Brave полностью исполняются на вашем девайсе. С помощью этой технологии мы даём пользователям больше контроля над их новостной лентой и над их взаимоотношениями с поставщиками новостей.

Читать далее

Что такое веб-стандарты и как работает веб-браузер?

Время на прочтение8 мин
Количество просмотров6.1K
image

Расскажу я вам одну историю. Как-то раз я разрабатывал очередной компонент с выбором даты для нашей системы проектирования. Компонент состоит из поля для текстового ввода и всплывающего календаря, отображаемого при щелчке мышью по этому полю. Затем всплывший календарь можно закрыть, щелкнув вне него или в случае, если была выбрана дата.
Читать дальше →

Vivaldi 5.6 для Android — Тонкая работа

Время на прочтение2 мин
Количество просмотров1.9K

Ваять крупные формы - дело нехитрое: берёшь кувалду, долото, и отсекаешь всё лишнее большими кусками. Другое дело - миниатюры. Тут надо очень аккуратно и точно вносить изменения, чтобы готовая работа засверкала новыми гранями. Собственно, речь у нас сегодня пойдёт о новой мобильной версии браузера Vivaldi, получившей отличный набор новых опций кастомизации.

Читать далее

Vivaldi 5.6 — Мир альтернатив

Время на прочтение2 мин
Количество просмотров5.2K

Даже если некая ситуация нас полностью устраивает, мы всегда имеем в запасе "план Б". Так, на всякий случай. Мало ли что. Вот и сегодняшняя новая стабильная версия Vivaldi 5.6 выходит под знаком альтернативы, предлагая пользователям выбор сразу в нескольких сферах. И начнём мы обзор с не совсем обычной для браузера новинки - Vivaldi Social.

Читать далее

Ближайшие события

На каждой новой работе своих коллег я всегда учил именно этому

Время на прочтение2 мин
Количество просмотров11K

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

Читать далее

Многопоточность на фронте: абсурд или прекрасное архитектурное решение?

Время на прочтение9 мин
Количество просмотров16K

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

Практически во всех областях IT-разработки весь мир перешел на использование многопоточности: мобильные приложения, бэкенд, прикладное программирование. И даже процессоры развиваются в сторону увеличения количества ядер. Но на фронте многопоточность используют нечасто, и эта тема до сих пор почему-то не очень популярна, особенно в ру-сообществе.

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

Читать далее

Эксплойтинг браузера Chrome, часть 1: введение в V8 и внутреннее устройство JavaScript

Время на прочтение29 мин
Количество просмотров25K


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

Работая дверями в Интернет, браузеры в то же время создают существенные угрозы целостности персональных вычислительных устройств. Почти ежедневно мы слышим новости наподобие "баг Google Chrome активно используется как Zero-Day" или "Google подтвердила четвёртый эксплойт Zero-Day Chrome за 2022 год". На самом деле, эксплойты браузеров не представляют собой ничего нового, их находят уже долгие годы, начиная с первого эксплойта для удалённого исполнения кода, задокументированного как CVE-1999-0280. Первым потенциально публичным раскрытием браузерного эксплойта, используемого в реальных условиях, стал эксплойт Aurora браузера Internet Explorer, который атаковал Google в декабре 2010 года.
Читать дальше →

Как работает автозаполнение в браузерах и что важно учитывать веб-разработчику

Время на прочтение14 мин
Количество просмотров40K

Если человек пользуется автозаполнением в браузере, он ждёт, что сможет быстро заполнять формы на любом сайте, где посчитает нужным. Наладить такой механизм на стороне сайта или веб-приложения несложно, но важно помнить пару вещей — я покажу кейсы, где подходы «в лоб» приводили к непредсказуемым результатам. Чтобы автозаполнение работало эффективно и не нарушало логику, стоит хотя бы примерно представлять, как оно устроено под капотом разных браузеров, которые могут быть у пользователей. Под катом распишу, каким образом движок подставляет данные в формы.
Читать дальше →

От взлома Firefox до подготовки к Апокалипсису. Как польский хакер Михал Залевски попал в «Матрицу»

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров17K

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

К ним относится хакер-самоучка Михал Залевски (Michal Zalewski), который входит в список самых влиятельных представителей индустрии ИБ. Он построил успешную карьеру от технического специалиста польского интернет-провайдера до директора по информационной безопасности Google, а в своей недавней книге даёт практические советы, как подготовиться к наступающему концу света. В общем, это разносторонняя и талантливая личность. На рисунке из Твиттера (вверху) Михал изображён с женой и собакой.
Читать дальше →

Vivaldi 5.5 для Android — Быстро и красиво

Время на прочтение2 мин
Количество просмотров2.4K

Не секрет, что мобильные браузеры часто сильно отличаются от своих десктопных вариаций в силу различных объективных причин. В связи с этим пользователям приходится не только переключаться между устройствами, но и между стилем работы с браузером. Мы стараемся сделать такое переключение максимально удобным, чему доказательство - наша новая стабильная версия Vivaldi 5.5 для Android.

Читать далее

Видеосъёмка из браузера. HTML-код, который включает камеру на смартфоне

Время на прочтение4 мин
Количество просмотров13K


Современные стандарты HTML и JavaScript дают разработчикам мощные инструменты для работы со смартфоном через браузер. Мы уже рассказывали о трекинге движений человека по гироскопу/акселерометру с распознаванием паттернов (ходьба, бег, общественный транспорт, нахождение рядом с другим пользователем с аналогичными паттернами) на веб-странице.

Это далеко не единственная такая функция. Например, в мобильных браузерах поддерживается HTML-атрибут <capture>, который начинает видеосъёмку на смартфоне просто по нажатию кнопки на веб-странице.
Читать дальше →

Вклад авторов