Noreferrer
Řetězec rel=noreferrer
umožňuje nastavit odkazu, že nemá posílat informace o předešlé navštívené stránce.
Standardní chování většiny prohlížečů je při přechodu na novou stránku odesílat URL, ze které se přišlo.
Jedná se o hlavičku HTTP referrer. Hodnota atributu rel
nastavená na noreferrer
tomuto předávání zabrání:
<a href="http://jecas.cz/noreferrer" rel="noreferrer">
Na cíl odkazu nepošle podporovaný prohlížeč referrer
</a>
Podpora
Konstrukce rel=noreferrer
funguje zatím jen ve Webkitu (Chrome, nová Opera).
V ostatních prohlížečích lze zabránit zjištění konkrétní adresy přesměrovávacím skriptem. Na cílové stránce se potom místo skutečné předchozí stránky zobrazí URL přesměrovávacího skriptu.
Využití
Nastavit odkazu neposílání referreru se hodí z bezpečnostních důvodů. U aplikace, která obsahuje citlivé údaje v URL, se prokliknutím nějakého externího odkazu dostane tato informace na cílovou stránku.
I v případě, že v URL nic citlivého není, se zbytečně může prozradit adresa webu/aplikace, kterou do světa (ještě) pouštět nechceme.
Ruční blokování referreru
Kvůli soukromí někteří uživatelé referer neposílají. Dá se to nastavit přímo v prohlížeči nebo tak činí některé firewally / proxy servery.
V takovém případě je ale dobré mít pohodlnou možnost referrer alespoň občas zapnout, protože jisté weby ho vyžadují pro ochranu před CSRF.
Zjištění předchozí stránky
Obsah hlavičky referer může tvůrce webu snadno získat.
- JavaScript
-
var predchoziAdresa = document.referrer;
- PHP
-
$predchoziAdresa = $_SERVER['HTTP_REFERER'];
Komentáře