
Комментарии 15
Разве это не пофиксили много лет назад?
Много лет назад пофиксили поведение js функции getcomputedstyle, таким образом, что она всегда выдавала стиль без учета :visited и вроде таким же образом ограничили возможность чтения пикселей через canvas. А теперь сделали локальную историю посещений для каждого домена, так же как и сделали с кешированием много лет назад.
Я, возможно, что-то не понял, но это не устранение уязвимости, а поломка функциональности. Ссылки подсвечивались другим цветом, чтобы понять "там я уже был, открывать нет смысла".
А если, как описано
A link is only styled as
:visitedif it was visited from the same top-level site and frame origin.
То, атакующий, может, и не узнает, что я там уже был. Но я не узнаю тоже.
Впрочем, с учетом того, что покраска этих ссылок повсеместно отключена - могли бы уж вообще убрать.
В Firefox использую расширение Last Visited Tooltip, которое при наведении курсора на ссылку показывает не только сам факт, что я посетил страницу, но и время последнего посещения, что лично мне очень полезно. Наверное, под Chrome тоже что-то подобное есть.
Оно, я подозреваю, как и Link Status Redux работает путем изменения DOM странички. С запросом соответствующих прав доступа. Паранойя не велит таким пользоваться.
Оно опенсорсное, для успокоения паранойи можно самому упаковать из исходников.
P.S. Как и упомянутый Вами Link Status Redux, кстати. Надо на него тоже глянуть, может заменю, там вроде побольше опций.
Возможны варианты. Есть Shadow DOM, доступный только экстеншну – это в плане того, что странице можно ничего не засвечивать. Остаётся только вопрос доверия самому экстеншну – ему действительно дофига прав понадобится.
Почему проверка посещаемых сайтов называется атакой?
20 лет думали, чтобы просто сделать костыль. Удручает
Нормальное решение. И более того стандартное для всего веба.
"Сайт не должен читать никакие данные другого сайта без специальных разрешений" И дальше надо просто думать как этот принцип правильно реализовать.
В Chrome 136 устранят 20-летнюю уязвимость «перехвата истории браузера»