Defaults.Exposed

Defaults.ExposedПоправки › Referrer-Policy

Как да поправите Referrer-Policy

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

Заключение за вашия бизнес: Всеки път, когато посетителят кликне върху изходящ линк, реклама или споделен ресурс, браузърът им може да предаде пълния адрес на вашата страница на дестинацията — и ако адресите ви носят заявки за търсене, идентификатори на клиенти, номера на поръчки или еднократни линкове, вие изтичате клиентски данни на трети страни, над които нямате контрол. Това е проблем за защита на данните, приеман сериозно от регулаторите, тихо нарушено обещание за поверителност и оценена пропаст, маркирана от IT екипа на клиент по време на дю дилиджънс.

Какво може да ви струва това

Защо има значение. Браузърите, оставени на себе си, са приказливи: по подразбиране те казват на следващия уебсайт откъде е дошъл посетителят, често включително пълния адрес на страницата. За брошурен сайт това може да е безвредно, но в момента, в който адресите ви съдържат нещо лично — дума за търсене, идентификатор на поръчка, имейл в линк, частна пътека — тази настройка по подразбиране тихо го изтича на външни страни. Referrer-Policy е единственото настройване, казващо на браузърите да спрат прекомерното споделяне. Тя е оценена проверка в таблото ви, носеща реални точки, съответства директно на задълженията за минимизиране на данните по закона за поверителността и е една от стандартните заглавки за сигурност, очаквани от всеки профessionален преглед.

Какво е това, с прости думи

Всеки път, когато посетител на вашия уебсайт кликне върху линк към друг сайт — изходящ линк, банерна реклама, „сподели това”, дори шрифт или изображение, заредено от другаде — браузърът тихо прикрепя бележка, казваща коя от вашите страници са дошли. Тази бележка се казва referer.

Използвана разумно, refererа е безвредна и дори полезна: по нея другите сайтове знаят, че трафикът е дошъл от вас и захранва много честни анализи. Уловката е в поведението по подразбиране. Оставен неуправляван, браузърът не просто казва „дошли са от your-business.com” — той често предава пълния адрес на точната страница, включително всичко след нимето на домейна. А уеб адресите носят много повече, отколкото хората осъзнават: думи за търсене, въведени на вашия сайт, номера на поръчки и акаунти, пътека към частна страница само за членове, дори еднократни тайни токени в имейли за нулиране на парола и потвърждение.

Referrer-Policy е единична инструкция, изпращана от вашия уебсайт до браузъра, казваща колко от тази бележка може да сподели. Можете да кажете да сподели само нимето на домейна ви, само с другите страници на вашия собствен сайт или нищо изобщо. Мислете за нея като за разликата между предаването на непознат на целия ви домашен адрес с ежедневното ви разписание прикрепено, спрямо просто казването в кой град живеете.

Това е едно от малкото семейство „заглавки за сигурност” — кратки инструкции, давани от вашия сайт на браузъра на всеки посетител. Не променя как изглежда или работи вашият сайт. Просто спира браузъра от прекомерно споделяне от ваше ниме.

Какво може да ви струва това

Ето конкретни, ежедневни начини, по които липсваща или разрешителна Referrer-Policy ухапва реалните бизнеси. Нито едно от тях не изисква хакер — те се случват автоматично, всеки ден, при нормална употреба.

Какво всъщност е

По подразбиране браузърите следват поведение, грубо еквивалентно на „strict-origin-when-cross-origin” в съвременните версии — но не можете да разчитате на това, тъй като по-стари браузъри, вградени изгледи и определени конфигурации все пак се подпират на изтичане на повече. Единственият начин да сте сигурни е да зададете политиката изрично. Когато го направите, избирате едно правило от кратък списък. Важните:

И двете стойности, които да се избягват, тъй като таблото ги третира не по-добре от нямане на заглавка:

Как изглежда „добро”: заглавка Referrer-Policy е налице и зададена на ограничителна стойност — за повечето бизнеси strict-origin-when-cross-origin. Това поддържа анализите на препращане работещи, като гарантира, че нищо след нимето на домейна ви никога не достига外部сайт.

Как да го поправите (безплатно, около 5 минути)

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

Целта: задайте заглавка на отговора Referrer-Policy със стойност strict-origin-when-cross-origin (или по-строга стойност, ако предпочитате да споделяте още по-малко).

Cloudflare (без код — най-лесно ако го използвате): Табло → вашия домейн → Rules → Transform Rules → Modify Response Header → Създайте правило → Set static → Ниме на заглавката Referrer-Policy, стойност strict-origin-when-cross-origin → прилагане за всички входящи заявки → Deploy.

Google Workspace / Microsoft 365: те управляват вашия имейл, а не вашия уебсайт, така че заглавката се задава там, където действително е хостван сайтът ви (вашият уеб хост, CDN или сървър) — а не в административната конзола на Workspace или 365. Идентифицирайте хоста и използвайте съответстващата опция по-долу.

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 е най-чист и се прилага навсякъде наведнъж.

След прилагане: заредете вашия сайт и стартирайте отново проверката, или използвайте инструментите за разработчик на браузъра (Раздел Мрежа → кликнете върху основния документ → Заглавки на отговора), за да потвърдите, че Referrer-Policy: strict-origin-when-cross-origin е налице.

Чести грешки

Кратка бележка за свързаните заглавки

Referrer-Policy седи наред с малко набор от други заглавки за уеб сигурност, които проверяваме — Content-Security-Policy, X-Frame-Options, X-Content-Type-Options и няколко разширени заглавки за cross-origin. Те защитават различни неща, така че наличието на едно не покрива останалите. Ако Referrer-Policy ви липсва, си заслужава да попитате когото я поправя да потвърди, че другите стандартни заглавки са на място едновременно, тъй като обикновено се конфигурират на едно и също място и посещението не струва нищо допълнително.

Накратко

Referrer-Policy е най-евтиното, най-безопасното поправяне на поверителността в таблото ви: един ред, около пет минути, без риск от счупване на нищо и безплатно. Спира браузърите на вашите посетители от тихото предаване на частните ви адреси на страниците — и каквито и лични данни съдържат — на всеки外部 сайт, след когото кликват. Задайте го на strict-origin-when-cross-origin, потвърдете, че е на живо на всяка страница и пропастта с средна сериозност и нейните 15 точки са затворени.

ЧЗВ

Не съм технически — мога ли реално да се справя с това?

Да, и тя е една от най-лесните поправки на цялата таблица. Това е единичен ред, добавен от когото управлява вашия уебсайт или хостинг, а на услуги като Cloudflare е две кликвания без никакъв код. Предайте им раздела 'Как да го поправите' по-долу. Безплатно е, отнема около пет минути и за разлика от някои настройки за сигурност няма да счупи нищо на вашия сайт.

Какво означава изобщо 'referer' тук?

Когато някой кликне върху линк от вашата страница към друг уебсайт, браузърът изпраща бележка, казваща коя от вашите страници са дошли — тази бележка се казва referer. Тя е истински полезна за честни анализи. Проблемът е в поведението по подразбиране. Оставен неуправляван, браузърът не просто казва 'дошли са от your-business.com' — той често предава **пълния адрес на точната страница**, включително всичко след нимето на домейна. А уеб адресите носят много повече, отколкото хората осъзнават: думи за търсене, въведени на вашия сайт, номера на поръчки и акаунти, пътека към частна страница само за членове, дори еднократни тайни токени в имейли за нулиране на парола и потвърждение. Referrer-Policy ви позволява да съкратите бележката до само нимето на вашия домейн или да я изключите, така че нищо чувствително не изтича.

Наистина ли си заслужава да се занимавам с това, ако сайтът ми не обработва плащания?

Почти сигурно да. Не ви трябва каса, за да имате лична информация в уеб адресите си — полета за търсене, формуляри за контакт, акаунт страници, линкове към документи и имейли за нулиране на парола рутинно поставят данни в адресната лента. И дори без никакви лични данни изобщо, изтичането на вашите вътрешни пътеки на страници на всеки외部 сайт, след когото посетителите ви кликват, дава на конкуренти и скрепери безплатна карта на вашия сайт. Поправката не струва нищо и пет минути, така че има малко причини да я пропуснете.

Може ли включването на това да счупи сайта или анализите ми?

Не. Това е една от безопасните заглавки — контролира само колко детайли от адреса се споделят с другите сайтове, не дали линковете работят. Препоръчителната настройка все пак изпраща нимето на домейна ви на外部 сайтове, така че легитимните анализи на препращането продължават да работят; просто спира пълния частен адрес да придружава. Не е нужен режим само за наблюдение и нищо за тестване на staging първо.

Това проблем за закона за поверителността ли е или просто нещо хубаво за имане?

Може да е истински проблем за спазване. Правилата за защита на данните изискват да събирате и споделяте само минималните необходими лични данни и да знаете накъде отиват данните ви. Ако адресите ви носят лични идентификатори и ги изтичате на рекламодатели или анализни фирми без споразумение, това е неуспех при минимизиране на данните, разпознаван от одитори и регулатори. За повечето бизнеси тази заглавка е евтин, конкретен начин за затваряне на тази пропаст.

Засяга ли това оценката ни или е просто съвет?

Засяга оценката ви. Проверката на Referrer-Policy е оценена и носи до 15 точки в категорията Уеб сигурност. Липсваща заглавка е маркирана с средна сериозност. Отбележете един капан: задаването на заглавката на разрешителна стойност като 'unsafe-url' или 'no-referrer-when-downgrade' получава нула точки — същото като без заглавка — защото тези стойности все още изтичат пълния адрес. За да спечелите точките, имате нужда от правилно ограничителна стойност като 'strict-origin-when-cross-origin'.