Defaults.Exposed

Defaults.ExposedВиправлення › Referrer-Policy

Як виправити Referrer-Policy

Referrer-Policy — це однорядкова інструкція, яку ваш сайт передає браузеру кожного відвідувача, контролюючи, скільки вашої веб-адреси мандрує з ними, коли вони натискають посилання на інший сайт. Без неї повна адреса сторінки, на якій вони були — пошукові запити, номери облікових записів, посилання для скидання, внутрішні шляхи — тихо передається наступному сайту, на який вони потрапляють, включно з рекламодавцями, аналітичними компаніями та будь-ким ще, на кого веде посилання.

Висновок для вашого бізнесу: Кожен раз, коли відвідувач натискає вихідне посилання, рекламу або спільний ресурс, їхній браузер може передати повну адресу вашої сторінки адресату — а якщо ваші адреси містять пошукові запити, ідентифікатори клієнтів, номери замовлень або одноразові посилання, ви витікаєте дані клієнтів до третіх сторін, яких не контролюєте. Це проблема захисту даних, яку регулятори сприймають серйозно, мовчки порушена обіцянка конфіденційності та оцінювана прогалина, яку служба безпеки клієнта позначить під час перевірки.

Що це може вам коштувати

Чому це важливо. Браузери, якщо їх не обмежити, є балакучими: за замовчуванням вони повідомляють наступний сайт, звідки щойно прийшов відвідувач, часто включно з повною адресою сторінки. Для сайту-брошури це може бути нешкідливим, але щойно ваші адреси містять щось особисте — пошуковий запит, ідентифікатор замовлення, email у посиланні, приватний шлях — це за замовчуванням тихо витікає до зовнішніх сторін. Referrer-Policy — це єдине налаштування, що каже браузерам припинити надмірний обмін. Це оцінювана перевірка у вашій картці результатів, що варта реальних балів, вона безпосередньо відображає обов'язки мінімізації даних за законодавством про конфіденційність, і це один зі стандартних заголовків безпеки, який будь-який професійний огляд очікує знайти.

Що це таке — простими словами

Кожен раз, коли відвідувач на вашому сайті натискає посилання на інший сайт — вихідне посилання, банерну рекламу, «поділитися», або навіть шрифт чи зображення, завантажені звідкись іще — їхній браузер тихо додає замітку про те, з якої вашої сторінки вони прийшли. Ця замітка і є referrer (посилальник).

Використаний розумно, referrer нешкідливий і навіть корисний: саме так інші сайти знають, що трафік прийшов від вас, і саме він живить багато чесної аналітики. Заковика у поведінці за замовчуванням. Без управління браузер не просто каже «вони прийшли з вашого-бізнесу.com» — він часто передає повну адресу точної сторінки, включно з усім після доменного імені. А веб-адреси несуть набагато більше, ніж люди усвідомлюють: пошукові запити, набрані на вашому сайті, номери замовлень і облікових записів, шлях до приватної сторінки лише для членів, навіть одноразові секретні токени у посиланнях для скидання пароля та підтвердження.

Referrer-Policy — це єдина інструкція, яку ваш сайт надсилає браузеру, що каже, скільки цієї замітки йому дозволено передавати. Ви можете сказати йому передавати лише ваше доменне ім’я, лише іншим сторінкам на вашому власному сайті або взагалі нічого. Подумайте про це як різницю між тим, що ви передаєте незнайомцю повну домашню адресу з вашим щоденним розкладом, проти того, щоб просто сказати їм, у якому місті ви живете.

Це один із невеликого сімейства «заголовків безпеки» — короткі інструкції, які ваш сайт дає браузеру кожного відвідувача. Це не змінює, як виглядає або працює ваш сайт. Це просто зупиняє браузер від надмірного обміну від вашого імені.

Що це може коштувати вам

Ось конкретні, повсякденні способи, якими відсутня або дозвільна Referrer-Policy завдає шкоди реальному бізнесу. Для жодного з них не потрібен хакер — вони відбуваються автоматично, щодня, у звичайному використанні.

Що це насправді є

За замовчуванням браузери дотримуються поведінки, приблизно еквівалентної «strict-origin-when-cross-origin» в сучасних версіях — але ви не можете на це покладатися, бо старіші браузери, вбудовані webviews та певні конфігурації все ще можуть витікати більше. Єдиний спосіб бути впевненим — встановити політику явно. Коли ви це робите, ви обираєте одне правило з короткого списку. Ті, що мають значення:

І два значення, яких слід уникати, бо картка результатів вважає їх не кращими, ніж відсутність заголовку взагалі:

Як виглядає «добре»: заголовок Referrer-Policy присутній і встановлений на обмежувальне значення — для більшості компаній strict-origin-when-cross-origin. Це підтримує аналітику переходів при роботі, забезпечуючи, що нічого після вашого доменного імені ніколи не потрапляє до зовнішнього сайту.

Як це виправити (безкоштовно, близько 5 хвилин)

Передайте цей розділ вашому IT-фахівцю, веб-розробнику або підтримці хостингу — виправлення безкоштовне, це єдиний рядок, і це не зламає ваш сайт. Тут немає ризикованого розгортання: на відміну від деяких налаштувань безпеки, розумна Referrer-Policy не може зупинити ваші посилання або сторінки від роботи. Вона лише обрізає те, що передається іншим сайтам.

Мета: встановити заголовок відповіді Referrer-Policy зі значенням strict-origin-when-cross-origin (або суворішим значенням, якщо ви хочете передавати ще менше).

Cloudflare (без коду — найпростіше, якщо ви його використовуєте): Dashboard → ваш домен → Rules → Transform Rules → Modify Response Header → Create rule → Set static → Header name Referrer-Policy, value strict-origin-when-cross-origin → застосувати до всіх вхідних запитів → Deploy.

Google Workspace / Microsoft 365: вони керують вашою поштою, а не вашим сайтом, тому заголовок встановлюється там, де ваш сайт фактично розміщений (ваш веб-хост, CDN або сервер) — не в Workspace або 365 admin. Визначте хост і використовуйте відповідний варіант нижче.

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache (у конфігурації сайту або .htaccess):

Header always set Referrer-Policy "strict-origin-when-cross-origin"

IIS (web.config):

<httpProtocol><customHeaders>
  <add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
</customHeaders></httpProtocol>

Node / Express:

app.use((req, res, next) => { res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin'); next(); });

WordPress / звичайні хости: більшість керованих WordPress і спільних хостів дозволяють додавати заголовки відповіді через плагін безпеки, панель «headers» у панелі керування хостингом або за допомогою вищезгаданого фрагменту .htaccess. Якщо ви за Cloudflare, метод Cloudflare є найчистішим і застосовується скрізь одразу.

Після застосування: завантажте ваш сайт і повторно запустіть перевірку або використайте засоби розробника браузера (вкладка Мережа → натисніть основний документ → Response Headers), щоб підтвердити наявність Referrer-Policy: strict-origin-when-cross-origin.

Поширені помилки

FAQ

Я не технічний фахівець — я насправді можу з цим розібратися?

Так, і це одне з найлегших виправлень у всій картці результатів. Це єдиний рядок, доданий тим, хто запускає ваш сайт або хостинг, і в таких сервісах, як Cloudflare, це кілька кліків без жодного коду. Передайте їм розділ «Як це виправити» нижче. Це безкоштовно, займає близько п'яти хвилин, і на відміну від деяких налаштувань безпеки не зламає нічого на вашому сайті.

Що тут взагалі означає «referrer»?

Коли хтось натискає посилання з вашої сторінки на інший сайт, їхній браузер надсилає замітку про те, з якої сторінки вони прийшли — ця замітка і є referrer (посилальник). Він корисний для чесної аналітики. Проблема в поведінці за замовчуванням. Без управління браузер не просто каже «вони прийшли з вашого-бізнесу.com» — він часто передає **повну адресу точної сторінки**, включно з усім після назви домену. Якщо ця адреса містить щось приватне, воно теж передається. Referrer-Policy дозволяє вам обрізати замітку до лише вашого доменного імені або взагалі вимкнути її.

Чи варто взагалі хвилюватися, якщо наш сайт не обробляє платежі?

Майже напевно так. Щоб мати приватну інформацію у веб-адресах, вам не потрібна каса — поля пошуку, контактні форми, сторінки облікового запису, посилання на документи та листи для скидання пароля рутинно вкладають дані в адресний рядок. І навіть без жодних персональних даних взагалі, витік ваших внутрішніх шляхів сторінок до кожного зовнішнього сайту, через який клікають відвідувачі, передає конкурентам і зловмисникам безкоштовну карту вашого сайту. Виправлення нічого не коштує і займає п'ять хвилин, тому мало причин пропускати.

Чи може ввімкнення цього зламати мій сайт або аналітику?

Ні. Це один із безпечних заголовків — він контролює лише те, скільки деталей адреси передається іншим сайтам, а не те, чи працюють посилання. Рекомендоване налаштування все одно надсилає ваше доменне ім'я зовнішнім сайтам, тому законна реферальна аналітика продовжує працювати; вона просто зупиняє повну приватну адресу від передачі. Немає необхідності в пробному режимі лише для спостереження і нічого тестувати в staging спочатку.

Це питання законодавства про конфіденційність чи просто бажане?

Це може бути реальною проблемою відповідності. Правила захисту даних вимагають від вас збирати і передавати лише мінімальний обсяг персональних даних, необхідних для роботи, і знати, кому ваші дані йдуть. Якщо ваші адреси містять персональні ідентифікатори і ви витікаєте їх до рекламодавців або аналітичних фірм без угоди, це збій мінімізації даних, який розпізнають аудитори та регулятори. Для більшості компаній цей заголовок — дешевий, конкретний спосіб закрити цю прогалину.

Це впливає на нашу оцінку, чи це лише рекомендація?

Це впливає на вашу оцінку. Перевірка Referrer-Policy є оцінюваною і вартою до 15 балів у категорії Web Security. Відсутній заголовок позначається як середня серйозність. Зверніть увагу на одну пастку: встановлення заголовка на дозвільне значення, таке як 'unsafe-url' або 'no-referrer-when-downgrade', набирає нуль — те саме, що не мати заголовку взагалі — бо ці значення все одно витікають повну адресу. Щоб отримати бали, вам потрібне правильно обмежувальне значення, як-от 'strict-origin-when-cross-origin'.