Небезпечне оновлення: майбутні версії більшості популярних браузерів занурять інтернет у хаос

18 лютого 2022, 16:28
Читать новость на русском

Джерело:

Hacks.Mozilla

Про цю проблему відомо вже давно. Стосується вона як рушія Chromium, на якому сьогодні працюють Google Chrome, Microsoft Edge, Opera та Vivaldi, так і ядра браузера Mozilla Firefox.

Проблема стосується версій під номером 100 і вище. У Chromium її запуск призначений на 29 березня. Нова версія Firefox запланована на 3 травня. 

Цікаво Аналітики назвали найпопулярніші серед користувачів браузери у 2022 році

У чому проблема 100-ї версії

Розробники попередили, що через оновлення у сайтів можуть виникнути проблеми. Річ у тім, що вихід нових версій означатиме, що значення user-agent стануть тризначними.

  • Рядок user-agent містить таку інформацію, як назва браузера, номер його версії та дані про різні технології, які той використовує.
  • Так, коли людина відвідує сайт, user-agent браузера відправляється разом із запитом вебсторінки.
  • Це дозволяє ресурсу перевірити версію програмного забезпечення відвідувача та змінити свою відповідь залежно від функцій, що підтримуються браузером.
  • Проблема у тому, що багато сайтів налаштовані на розпізнавання лише двозначних ідентифікаторів, тому версія 100 буде визначатися ними як 10, підтримка якої завершена кілька років тому.
  • У підсумку ці сайти постійно будуть показувати користувачам повідомлення про необхідність оновити браузер, матимуть проблеми з інтерфейсом, а деякі, можливо, й узагалі не будуть працювати.

Серед сайтів, які поки не підготовлені до появи цієї проблеми, є багато популярних ресурсів, включаючи HBO Go, Bethesda, Slack і Yahoo. Усі створені за допомогою конструктора Duda. 

Що робити

Розробники говорять про цю проблему вже давно. Видання Bleeping Computer, наприклад, раніше писало, що в серпні 2021 року інженери Mozilla провели експеримент, щоб з'ясувати, як сайти реагуватимуть на тризначне число в user-agent браузера Firefox.Аналогічне дослідження згодом провели в Google. У результаті виявили певну кількість сайтів, які працювали некоректно.

До речі

, приблизно те ж саме відбувалося близько дванадцяти років тому, коли Chromium оновився до версії 10, а сайти вважали, що користувачі заходили з застарілих перших версій браузерів і відмовлялися працювати нормально.

Вихід із ситуації вже придумали. Якщо власники сайтів самостійно не внесуть відповідні зміни в код своїх ресурсів, а компанії-розробниці браузерів не встигнуть знайти постійне рішення, останні просто тимчасово "заморозять" user-agent на значенні 99, а справжню версію своїх вебоглядачів додаватимуть у подальших цифрах. Крім того, одним з рішень може стати впровадження спеціального CSS-коду на проблемний сайт.

Що робити адміністраторам сайтів

Mozilla тим часом просить адміністраторів сайтів заздалегідь перевірити, чи їх ресурси сприймають user-agent Firefox 100 і Chrome 100.

  • Для цього в Firefox потрібно відкрити меню налаштувань Firefox Nightly, знайти "Firefox 100", а потім активувати прапорець "Firefox 100 User-Agent String". Після цього рядок user-agent Firefox зміниться на Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0.
  • У Chrome потрібно перейти на сторінку chrome://flags/#force-major-version-to-100, активувати параметр і рядок user-agent зміниться на Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4758.102 Safari/537.36.

Якщо після цього з'являються проблеми, то звіти про помилки потрібно надсилати на webcompat.com, щоб розробники мали час на їх виправлення.