Обновить
52.07

Браузеры

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

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

Корневые хранилища сертификатов в браузерах. Основные доверенные центра Интернета

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


В декабре 2022 года из корневого хранилища Mozilla исключили корневые сертификаты TrustCor (точнее, для них проставлена метка Distrust for X After Date с 01.12.2022). Причиной стало сотрудничество с компаниями, у которых обнаружились связи с разведывательным сообществом США. К этому решению Mozilla позже присоединились Apple, Google и Microsoft. Таким образом, сертификаты крупного УЦ одномоментно обесценились на большинстве пользовательских устройств.

Более того, «доверие к TrustCor» внесли в глобальную базу данных уязвимостей. Теперь если вы размещаете на GitHub код с доверием к сертификатам TrustCor, система сообщает об уязвимости средней тяжести.
Читать дальше →

Запуск автотестов Cypress в Docker контейнерах с использованием различных Docker образов

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

Привет, Хабр!

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

В данной статье описаны преимущества использования Docker в Cypress тестировании, в деталях рассмотрены существующие на сегодняшний день официальные образы Cypress, изложен механизм сборки настраиваемых Docker образов для запуска автотестов Cypress в Docker контейнерах, развертываемых на основе данных образов.

Надеюсь, что статья будет полезна для понимания основ использования контейнеризации в тестировании с помощью Cypress.

Читать далее

Как мы отказались от поддержки Internet Explorer в интернет-клиент-банке и никто не пострадал

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

Добрый день, на связи Дмитрий Захаров, фронтенд-разработчик Росбанка. В этом посте я поделюсь тем, как мы отказались от поддержки Internet Explorer в интернет-клиент-банке для крупного бизнеса. Расскажу, как мы к этому пришли, как организовали процесс и что получилось в результате.

Читать далее

Чем браузер Arc хорош на самом деле

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

Недавно появился хабрапост «Arc — революционный браузер нового поколения». Его заминусовали с реакцией «вы тут выдаёте за революцию очередной скин для Chromium». 

Я активно пользуюсь Arc и ощущаю, что из-за неудачного поста Хабр может пройти мимо хорошего продукта. Да, слово «революционный» тоже считаю излишне громким. Но Arc — это не просто «добавили нескучные обои», а более интересная штука, способная пригодиться многим хабравчанам.

По-моему, тот текст плохо доносил преимущества, потому что начинал с малозначимых «свистелок-перделок» в духе «можно кастомизировать цвета», и до самого интересного люди просто не дочитывали. Главную крутизну Arc я вижу в ряде UX-решений, помогающих с типичными проблемами. Зачастую что-то похожее есть и в других браузерах, но здесь реализовано нативнее и полнее. Поэтому решил описать для Хабра эти проблемы и решения.

Читать далее

Arc — революционный браузер нового поколения

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

Каждую неделю свет видит новое приложение или стартап. Команды создают новые продукты или адаптируют старые механики под новые паттерны и реальности.

В этот раз энтузиасты перепридумали браузер. В социальных сетях ходило очень много шума по поводу браузера Arc, но доступ к нему выдают не сразу и не всем. Давайте посмотрим на него поближе и разберемся, действительно ли он революционный?

У меня на компьютере установлено несколько браузеров: Safari, Firefox Developer, Yandex и как основной — Google Chrome. Каждый раз, когда я запускаю какой-то не основной браузер, мне предлагают сделать его браузером по умолчанию, но я отказываюсь.

С Arc картина поменялась, теперь он браузер по умолчанию и сейчас я расскажу почему.

Читать далее

Интересные трюки HTML, CSS и JS

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

Здесь вы найдёте небольшую подборку нестандартных вариантов использования HTML/CSS/JS. Если информация окажется полезной, будем собирать эти хаки на постоянной основе и публиковать по мере накопления.

Примечание. Некоторые трюки основаны на открытых уязвимостях браузеров и поисковой системы Google и др. Поэтому могут перестать работать в ближайшее время (или продолжат, если разработчики не признают баги и не захотят их исправлять). Другие функции работают только начиная с конкретных версий Chrome, Firefox и т. д.
Читать дальше →

XSS атакует! Не краткий обзор где и как искать уязвимости

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

Казалось бы, XSS уязвимостям уже 100 лет в обед: написано огромное количество материала на эту тему, браузеры и инструменты которые мы используем тоже развиваются и добавляются новые уровни защиты. Но тема не перестает быть актуальной, ведь в новой версии Top 10 Web Application Security Risks (правда двухлетней давности) XSS уязвимости по-прежнему входят в ТОП 10 самых опасных и распространенных уязвимостей (хоть и включены теперь в группу injection), и 21% всех уязвимостей, найденных в web-приложениях были именно XSS. 

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

Читать далее

Я постоянно отвлекаюсь или этика проектирования интерфейсов

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

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

Утренний/вечерний TikTok, YouTube, новости и прочее для многих стали привычными ритуалами. А CEO Netflix утверждает что их главный конкурент это сон. А не HBO или Amazon, как можно было бы подумать.

Читать далее

Браузер из барокко. О книжном колесе Рамелли

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

Не так давно я узнал, что в раннесредневековом Китае и позднесредневековой Европе предпринимались попытки конструировать «поворотные шкафы» и «книжные колёса» — агрегаты для параллельного чтения нескольких текстов. Эти механизмы удивительным образом предвосхитили некоторые свойства GUI, переоткрытые только в XXI веке.

Читать далее

Почему шифрование почты за 30 лет не стало мейнстримом?

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


30 марта 2023 года Mozilla закрыла баг 135636 и исправила ошибку по автоматическому включению/отключению шифрования почтовых сообщений в зависимости от текущей конфигурации отправителя и получателя (режимы OpenPGP и S/MIME). В этом не было бы ничего странного, если бы не одна деталь: тикет открыт 21 год назад. В связи с этим возникает вопрос: почему закрытие такого простого бага заняло больше двух десятилетий?
Читать дальше →

Vivaldi 6.0 для Android — Мобильный мультитул

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

Время летит быстро и технологии не стоят на месте, а пользователи идут ещё на полкорпуса впереди технологий, постоянно запрашивая всё новые функции для Vivaldi. В результате браузер постепенно превращается в мощный инструмент для работы в сети, обладающий массой функций. Пример тому - Vivaldi 6.0 для Android.

Читать далее

Vivaldi 6.0 — Пространство для творчества

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

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

Читать далее

Китайский язык очень сложный. Мы сделали для него перевод видео

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


Привет, меня зовут Артур Яковлев, я делаю голосовой перевод видео в Яндекс Браузере. Примерно с лета я работаю над тем, чтобы научить Браузер переводить с китайского на русский. Почему мы посчитали это важной и интересной задачей? Дело в том, что китайская часть интернета содержит значительное количество видеоконтента, который за пределами страны почти не смотрят.

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

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

Эксплойтинг браузера Chrome, часть 3: анализ и эксплойт уязвимости CVE-2018-17463

Время на прочтение69 мин
Количество просмотров3.3K
Это третья и последняя часть серии статьей про эксплойтинг браузера Chrome. В первой части мы изучили внутреннюю работу JavaScript и V8. В том числе изучили объекты map и shape, а также рассмотрели методики оптимизации памяти, например, маркировку указателей и сжатие указателей.

Во второй части мы более глубоко исследовали конвейер компилятора V8. Изучили предназначение Ignition, Sparkplug и TurboFan в конвейере и рассмотрели такие темы, как байт-код V8, компиляция и оптимизация кода.



В этой части сосредоточимся на анализе и эксплойтинге уязвимости JIT-компилятора в TurboFan CVE-2018-17463. Эта уязвимость возникла из-за ненадлежащего моделирования побочных эффектов операции JSCreateObject на этапе понижающей оптимизации. Прежде чем мы приступим к эксплойтингу этого бага, нужно изучить фундаментальные примитивы эксплойтинга браузеров, такие как addrOf и fakeObj, а также узнать, как можно использовать этот баг для эксплойтинга type confusion.

Читать дальше →

Релизы Safari — это ад для разработчиков

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

На прошлой неделе выкатили Safari 16.4, и для нас это стало кошмаром. Мы разрабатываем браузерное приложение для создания игр под названием Construct. Ранние версии Safari 16.4 ломали открытие проектов, предпросмотр проектов и весь контент, опубликованный при помощи Construct, каждый раз по-разному. Я захотела поделиться своим опытом, чтобы пользователи, разработчики, регуляторы и сама Apple знали, через что нам пришлось пройти из-за, казалось бы, рутинного релиза Safari.

Разработчики большинства браузеров предоставляют предрелизные версии для предварительного тестирования. Например, ежедневно обновляются Chrome Canary и Firefox Nightly, кроме того, существуют более редкие dev- и beta-релизы. Apple предоставляет Safari Technology Preview (STP), но она совместима только с macOS, и не обновляется по какому-нибудь открыто опубликованному графику. Похоже, это происходит примерно раз в две недели. Предрелизные браузеры обычно довольно шероховаты и содержат очевидные проблемы, которые достаточно быстро устраняют. Однако когда они начинают переходить в состояние беты, необходимо присмотреться повнимательнее. Поэтому когда 16 февраля было заявлено о выпуске Safari 16.4 beta 1 (тоже без какого-либо публичного графика), мы начали присматриваться и обнаружили множество проблем.
Читать дальше →

Почему десктопные приложения работают на веб-платформе?

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

Где мы свернули не туда? Как получилось, что современный десктопный GUI по умолчанию использует платформу HTML/CSS/JavaScript, которая изначально не предназначена для нативной работы на десктопе? Она создана конкретно для браузера и веба. Зачем из нативного софта делать веб-страницы в браузерной оболочке?

Джефф Этвуд (автор Stack Overflow) предсказал этот феномен ещё в 2007 году. Он тогда сформулировал так называемый закон Этвуда:

Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript.

Так и вышло.
Читать дальше →

Как работает веб-браузер (с картинками)

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

Браузеры стали частью нашей повседневной жизни. Но задумывались ли вы когда-нибудь о том, как они на самом деле работают?

Эта статья приоткроет завесу магии, скрывающуюся за кулисами веб-браузеров.

Давайте начнем!

Читать далее

Пишем форк Chrome, который рендерит браузер в терминале

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

Несколько месяцев назад я писал о форке Chrome, превращающем HTML в SVG, а сегодня хочу сделать нечто похожее, заставив его выполнять рендеринг в терминал.

Представляю вашему вниманию веб-браузер Carbonyl!
Читать дальше →

Запускаем файрвол и VPN в браузере Brave

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

Фаервол и VPN от Brave на основе Guardian теперь доступны на десктопной версии браузера, начиная с версии 1.49. Вместе с уже доступными VPN для Андроида и iOS мы предлагаем нашим пользователям полностью кросс-платформенную защиту.

Наш десктопный VPN также работает между несколькими устройствами сразу: пользователи могут подключать пять устройств на любой платформе к одной подписке VPN.

Читать далее

Уникальные функции Firefox. Изолированные контейнеры

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


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

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

Вот почему так важно изолировать аккаунты по контейнерам (Multi-Account Containers) — это одна из уникальных функций браузера Firefox.
Читать дальше →

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