Как стать автором
Обновить
80.47

Браузеры

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

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

Telegram Web съел 30% моего 16-ядерного процессора. Расследование странного поведения, или Призрак майнера в браузере

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

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

О, нука че там

Новости

Кликджекинг по двойному щелчку. Новый приём обманного UI

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


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

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

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

Простой механизм поиска с нуля

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

Мы с Крисом недавно «с нуля» буквально за пару часов создали механизм поиска для моего блога. Основную часть проделал именно Крис, так как до этого с word2vec я был знаком лишь отдалённо.

Разработанный нами поисковик основывается на векторных представлениях (эмбеддингах) слов. Принцип здесь следующий. Функция получает слово и отображает его в N-мерное пространство (в данном случае N=300), где каждое измерение отражает определённый оттенок смысла. Вот хорошая статья (англ.) о том, как обучить собственную модель word2vec, и её внутреннем устройстве.

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

Уравнение ниже может показаться пугающим, но в нём говорится, что косинусное сходство, представляющее косинус угла между двух векторов cos(theta), определяется в виде скалярного произведения, поделённого на произведение величин каждого вектора. Разберём всё это подробнее.

Читать далее

Форки Firefox. Поднимаем собственный сервер синхронизации

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

Firefox — последний независимый браузер на собственном движке, который противостоит монополии Chrome. Однако некоторые пользователи недовольны политикой организации Mozilla: она собирает телеметрию, угрожает внедрять ИИ, искать новые источники дохода и использовать персональные данные пользователей.

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

Но эту проблему можно исправить. В частности, сервер синхронизации Firefox можно установить на собственном хостинге.

Читать далее

Интернет на раскладушке, или Веб-сёрфинг с помощью оригинального Opera Mini

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

Первая версия Opera Mini вышла в 2005 году. Это был веб-браузер для мобильных телефонов, позволявший целиком скачивать сайты, поручая всю основную работу внешнему серверу. Поначалу вокруг него возник хайп, но в свете всё большего распространения смартфонов, интерес к этому браузеру начал угасать.

Opera Mini до сих пор существует для iPhone и Android — только теперь это слегка скорректированная версия стандартного мобильного браузера Opera, а эти браузеры использовать не рекомендуется. Тем не менее изначальная его версия на базе Java ME по-прежнему функциональна, и её можно установить даже на современный ПК.
Читать дальше →

Что происходит с вашим JavaScript-кодом внутри V8. Часть 1

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

В этой серии статей мы пройдемся по каждому этапу работы V8: лексическому и синтаксическому анализу, построению AST, интерпретации и оптимизациям. Затронем Ignition, Sparkplug, Maglev и Turbofan; разберемся с hidden classes, байт-кодом, и много чем еще. Углубимся во все этапы достаточно, чтобы понимать, за что отвечает каждый из них.

В этой части посмотрим на лексический и синтаксический анализ.

Читать далее

Localhost-атака: как Meta* и Яндекс следят за пользователями Android через localhost

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

Мы раскрыли новый метод отслеживания, используемый компаниями Meta* и Яндекс, который потенциально затрагивает миллиарды пользователей Android. Мы обнаружили, что нативные приложения Android — включая Facebook, Instagram и несколько приложений Яндекса, таких как Карты и Браузер — незаметно слушают определенные локальные порты в целях отслеживания.

Эти нативные приложения Android получают метаданные браузеров, куки и команды от скриптов Meta* Pixel и Яндекс.Метрики, встроенных на тысячи веб-сайтов. Эти скрипты загружаются в мобильных браузерах пользователей и незаметно связываются с нативными приложениями, работающими на том же устройстве, через локальные сокеты (localhost). Так как нативные приложения программно получают доступ к идентификаторам устройства, таким как рекламный идентификатор Android (AAID), или обрабатывают идентификацию пользователя, как в случае приложений Meta, этот метод позволяет этим организациям связывать сессии мобильного браузера и веб-куки с личностью пользователя, тем самым деанонимизируя посетителей сайтов, на которых размещены их скрипты.

Этот способ передачи идентификаторов из браузера в приложение обходит типичные средства защиты приватности, такие как очистка куки, режим инкогнито и контроль разрешений Android. Более того, он открывает возможность для потенциально вредоносных приложений подслушивать веб-активность пользователей.

Читать далее

Прогрессивный JSON

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

Вы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.

Что, если мы применим тот же принцип к передаче JSON?

Читать далее

Как мы встроили 32-битный Internet Explorer в 64-битный Яндекс Браузер для организаций

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

Многие организации с богатой историей всё ещё завязаны на устаревшие внутренние системы Internet Explorer, включая ActiveX‑модули, работающие только в его окружении. Такие решения сложно и дорого переписать, особенно в финансовом секторе, поэтому компании вынуждены поддерживать несколько браузеров одновременно — для новых сервисов и старых критически важных систем.

В статье расскажем, как Яндекс Браузер для организаций позволяет запускать и современные веб‑приложения, и наследие эпохи IE в одном окне, помогает справляться с legacy‑наследием и облегчает переход к актуальным технологиям.

Читать далее

Google выкатил AI-поиск. Как им воспользоваться?

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

Google выкатил AI-поиск. Он ощущается немного по-другому, чем Perplexity. Бесплатно. Если вам интересны новейшие штуки в этой области, советую попробовать.

Еще это может быть полезно специалистам по SEO, которым пора уже адаптироваться к новым веяниям — оптимизации для AI-поиска вместо классического краулера.

Важно: с русским языком пока не работает. Google выкатил это как эксперимент, и чтобы посмотреть качество и суть работы — этого достаточно. Что такое "с русским языком не работает": это не то что результаты будут плохие, а нейронка прямо человечьим языком скажет: "работают только с английским" и ответа не напишет совсем никакого. Т.е. если вы не знаете английского, смотреть это бессмысленно.

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

Читать далее

Трамплин в интернет: как мы ускорили запуск Яндекс Браузера

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

Привет! Это снова Максим из Яндекс Браузера. Мы с командой продолжаем делиться историями об интересных и неочевидных оптимизациях производительности, которые внедряем в наш браузер. В прошлый раз мы писали о том, как улучшили стабильность GPU‑процесса, воспользовавшись оптимизациями в драйверах видеокарт, сделанными специально для Google Chrome. А сегодня речь пойдёт об ускорении старта нашего браузера на Windows.

Читать далее

Cookie Store API

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



До недавнего времени программный доступ к куки в браузере осуществлялся через API document.cookie — простой строковый геттер/сеттер. Для получения одного файла куки приходилось разбирать всю строку вручную и преобразовывать ее в удобный формат. А чтобы записать куки, нужно было сначала сформировать структурированные данные, затем сериализовать их в строку и только после этого присвоить значение document.cookie. Разработчики часто используют популярные библиотеки, например js-cookie, которые делают работу с куки гораздо удобнее.

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

Пароли больше не в моде? Что такое Passkeys?

Время на прочтение7 мин
Количество просмотров24K
Все мы бывали в подобной ситуации. Вы пытаетесь войти в свой банковский аккаунт, используя имя пользователя и пароль, но в ответ получаете стандартную ошибку «неверный пароль». Вы перепроверяете свой менеджер паролей, пробуете несколько вариантов, но после слишком большого количества неудачных попыток система блокирует вас. Теперь вы попадаете в утомительный процесс повторной аутентификации, включающий вопросы безопасности, которые вы едва помните, и форму сброса пароля, которая самодовольно сообщает вам: «Новый пароль не может быть таким же, как старый».

Что такое Passkeys?


Passkey — это безопасная и удобная альтернатива паролю. Вместо запоминания сложных комбинаций вы используете встроенные средства защиты устройства: Face ID, отпечаток пальца или PIN-код. Ничего вводить не нужно.

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

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

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

Топ-5 браузеров 2025 года: 200% эффективности — выбираем рабочий инструмент, удобный и надёжный

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

Когда вы в последний раз всерьёз задумывались о браузере, в котором работаете? Скорее всего, выбрали когда-то Chrome — и так с ним и остались. Привычка. Инерция. Всё устраивало. Но 2025 год изменил правила игры. В статье собрали пятёрку первых среди равных и добавили бонус — пять перспективных браузеров.

Читать далее

Что делать, когда истёк TLS-сертификат на ТВ-приставку

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

Chromecast второго поколения

9 марта 2025 года владельцы медиаприставок Chromecast второго поколения и Chromecast Audio столкнулись с неожиданной проблемой — все устройства прекратили работать. Как потом выяснилась, проблема была в просроченном TLS-сертификате.

Это новая причина, по которой оборудование может выйти из строя в 21 веке.
Читать дальше →

На пальцах про WebRTC на примере своего мессенджера

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

Сегодня разберёмся, как сделать видеозвонки — ту самую фичу, без которой сложно представить современное общение в 2025 году, на примере реализации мессенджера.

Для этого мы познакомимся с WebRTC — технологией, которая позволяет приложениям устанавливать прямое соединение друг с другом для обмена аудио, видео и другими данными. Это мощный, но местами капризный инструмент, который требует понимания архитектуры, сигналинга и сетевых нюансов вроде NAT и ICE.

Читать далее

Наши 象: что я узнал про китайцев и китайский веб-дизайн, пока создавал сайт для мясокомбината

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

Самое мясо китайского веб-дизайна, или Как не стать лосем в Поднебесной. Путеводитель по провинциям визуального хаоса.

Читать далее

Firefox против гигантов: битва за интернет

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

Когда Firefox только появился на рынке, монополия Internet Explorer казалась непоколебимой. IE был браузером по умолчанию для миллионов пользователей Windows. Гиганты вроде Netscape Navigator и AOL Browser пали под его натиском. Появление Firefox сначала воспринималось как попытка бунтаря бросить вызов устоявшемуся порядку. Однако этот браузер быстро завоевал доверие веб-разработчиков и пользователей. Кульминацией его успеха стал Download Day 17 июня 2008 года, когда за 24 часа было установлено 8 002 530 копий Firefox 3. Так браузер попал в Книгу рекордов Гиннесса. В этой статье мы погрузимся в историю Mozilla и расскажем, как Firefox смог изменить правила игры в мире веб-браузеров.

Читать далее

Инструменты CDN: шесть способов остановить накрутку трафика на сайт

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

Привет, Хабр! Когда компании используют CDN (Content Delivery Network) для ускорения сайтов и приложений, они нередко сталкиваются с резким ростом трафика, который не связан с реальными пользователями. Такая проблема увеличивает загрузку контента и задержку в сети, в худшем случае — приводит к огромному счету за услугу CDN. Для компаний это может стать серьезной финансовой нагрузкой.

Часто причиной увеличения трафика становятся конкуренты, которые используют ботов и скрипты для отправки тысяч запросов на ресурс. В результате вместо стандартного 1 ТБ в месяц клиент может потребить 500 ТБ за три дня, а его чек вырастет в 1 000 раз. В тексте разберем, как определить накрутку трафика и какие меры предпринять для защиты.
Читать дальше →

Улучшаем тексты в вебе при помощи text-wrap: pretty

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

В новом Safari Technology Preview реализовано значение text-wrap: pretty, обеспечивающее беспрецедентный уровень чёткости типографики в вебе. Давайте рассмотрим возможности WebKit-версии pretty, а затем сравним её с balance и другими значениями text-wrap, чтобы лучше понять, когда какие следует выбирать.

Идеи о том, что «хорошо» для типографики произрастают из эпохи, когда набор производился вручную при помощи металла, дерева и чернил. Наборщики тщательно выбирали, где должно находится слово: в конце строки, в начале другой или его нужно разбить дефисом. Их усилия повышали понятность текстов, снижали напряжение глаз и просто увеличивали удовольствие от чтения. Хотя восприятие красоты может быть субъективным, в мире существуют и глубоко укоренившиеся типографские традиции для разных языков и написаний. Эти традиции через века несут человеческую культуру от поколения к поколению.

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

Одним из решений может стать text-wrap:pretty. Оно предназначено для обеспечения нового уровня качества типографики в вебе благодаря использованию учитывающих абзацы алгоритмов.

Читать далее
1
23 ...

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