Небезпечне оновлення: майбутні версії більшості популярних браузерів занурять інтернет у хаос
Джерело:
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. У результаті виявили певну кількість сайтів, які працювали некоректно.
До речі
Вихід із ситуації вже придумали. Якщо власники сайтів самостійно не внесуть відповідні зміни в код своїх ресурсів, а компанії-розробниці браузерів не встигнуть знайти постійне рішення, останні просто тимчасово "заморозять" 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, щоб розробники мали час на їх виправлення.