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

Комментарии 28

Помнится мне какой-то браузер обещал вообще избавиться от Useragent. Я решил поэксперементировать с удалением агента и языковых предпочтений. Многие сайты работают нормально. Один сайт сломался так как не ожидает null там где должен быть агент. Второй сайт до недавнего времени игнорил а потом агрессивно начал заставлять обновить браузер.

Хабр по умолчанию выводит английскую версию а без скриптов похоже с неё никак не переключится. Приходится в ручную в адресной строке менять en на ru.

Ещё бы Accept заголовок убрать и посмотреть что тогда будет с сайтами.

Сейчас все браузеры очень медленно двигаются в сторону избавления от строки User-Agent и замены её на Client Hints

https://chromestatus.com/feature/6311349754789888

Больше всего меня смущает, как щедро устроен User Agent. Даже, казалось бы, в Tor в UA указано, что это Tor. Нужно в этот UA, если совсем никак без него, ставить платформу (например, 'ios;phone ') и движок.

Наверняка есть какой-то хороший инструмент (например, расширение под хром), который вместо реального UA подставляет произвольную строку. Мне бы очень пригодился)

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

По этой причине, например, Брейв и Вивальди используют юзерагент хрома, а не свой собственный. Ну и мимо юзерагента в финегрпринтинговые скрипты утекает такая прорва информации (шрифты, канвас, client hints и т. д.), что из-за него беспокоится даже и смысла нет :)

По моему опыту большинству сайтов пофиг на агент.

многие сайты увидев Linux в UA вставляют капчу на первый заход. а увидев рандом могут не пустить

Проверил на топ 100 популярных сайтов в России. Из 100 только 30 отказались показывать контент.

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

в их случае это невозможно, так что они стараются у всех пользователей сделать идентичный фингерпринт с точностью плюс-минус до операционки

Brave рандомизирует информацию о ваших языках по умолчанию и об установленных вами шрифтах
Если там реально рандом, то это и правда не даст связать между собой разные сессии одного пользователя, но привлекает потенциальное внимание.
Не лучше ли реализовать опцию типа «имитировать самый популярный по моей стране шаблон»? Ну типа делаем вид, что мы стандартная установка Windows по умолчанию плюс офис и больше ничего.

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

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

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

А если без шуток - да, это наиболее здравая идея. По количеству стран составить некий мэппинг и подставлять его в зависимости от реального региона пользователя.

Brave рандомизирует информацию о ваших языках по умолчанию

Ценой вероятности получить искомый сайт совсем не на искомом языке.

и об установленных вами шрифтах, которую браузер отправляет сайтам.

Кхм... а зачем браузеру вообще отправлять эту информацию сайтам?

Статья не раскрывает этот вопрос, но скорее всего тут неудачное слово. Инфа о шрифтах никуда не отправляется в явном виде, её получают косвенным образом. Обычно для этого просто рендерят некую строку разными шрифтами, входящими в дистибутивы популярных ОС и программ (офис, фш и пр). И смотрят длину div-а в пикселях - если она отличается от аналогичной строки шрифтом по умолчанию, значит такой шрифт в системе, вероятно, есть.

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

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

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

Да, это всё совершенно верно.

Изначально в ветке вопрос был про зачем браузеру "посылать" эту информацию сайтам, и ответ тут что даже обычным не зловредным сайтам это бывает надо, и для этого есть штатные АПИ. Которые паралелльно могут эксплуатироваться для целей ФП

Кхм... а зачем браузеру вообще отправлять эту информацию сайтам?

Да вот зачем-то так исторически сложилось, теперь все страдаем.

В 103 хром завезли чуть более лучшую штуку, Local Font Access API. Оно хотя бы явно спрашивает пермиссию у пользователя на запрос к перечню локальных шрифтов. https://chromestatus.com/feature/6234451761692672

Есть довольно интересная статья, в которой затрагивается в т. ч. вопрос приватности

Так почему бы Вам просто не отключить отправку этой информации вовсе или хотя бы оставить это на усмотрение пользователя?

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

Если просто всё отключать и не пущать - сломаются сайты.

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

Все может сломаться из-за отсутствия в UA указания на разрядность ОС, но мы же говорим не о всем, а о конкретной фиче. Из-за отсутствия информации о поддерживаемых гарнитурах что-то ломается?

Представьте как сайты будут выглядеть, если все тексты будут написаны одним Arial'ом. И что скажут 50 миллионов пользователей про это

Даже представлять не нужно - у мну Arial стоит дефолтным и сайтам запрещено загружать свои шрифты ;) Но мы же о другом: почему бы пользователю при его желании не щелкать по носу слишком любопытные сайты?

Уважуха :D

Наша официальная политика щелкания по носу - это агрессивный режим щитов. Более радикальные меры ответственные за приватность пока что не рассматривают

Да за что уважуха-то? Мне просто сайты для инфы, а не любоваться на них. Рубленая гарнитура удобнее для моих глаз - вот и весь секрет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий