Недоробка в Chrome, що дозволяє змінювати буфер обміну без дій користувача

У недавніх випусках двигуна Chromium змінено поведінку, пов'язану із записом у буфер обміну. Якщо в Firefox, Safari та старих випусках Chrome запис у буфер обміну допускався тільки після явних дій користувача, то в нових випусках для запису досить просто відкрити сайт. Зміна поведінки в Chrome пояснюється необхідністю читання даних з буфера обміну при виведенні заставки Google Doodle на сторінці відкриття нової вкладки (замість специфічної обробки цієї ситуації, Chromium просто дозволили всім сайтам записувати в буфер обміну без активації даної операції користувачем).

Можливість запису працює при викликі методів navigator.clipboard.write (приклад) та navigator.clipboard.writeText (приклад), які тепер не враховують активність користувача на сторінці. Наприклад, для запису в буфер обміну відразу після відкриття сайту достатньо виконати наступний JavaScript-код: navigator.clipboard.writeText('Hello from the web page.'); let type = 'text/plain'; let blob = new Blob(['Hello from web page'], {type}); let item = new ClipboardItem({[type]: blob}); navigator.clipboard.write([item]);

Джерело: opennet.ru

Додати коментар або відгук