Почему значение "base rel =" игнорируется? - PullRequest
1 голос
/ 02 мая 2019

Я хочу добавить 'noreferrer' ко всем ссылкам на моей статической HTML-странице, не беспокоясь о том, чтобы забыть добавить его к какой-нибудь новой ссылке в будущем.Я пытался использовать base rel="noreferrer" , как иногда предлагалось , но, похоже, это не работает.На этой простой странице:

<html>
  <head>
    <base rel="noreferrer">
  </head>
  <body>
    <a href="linktest.html">no rel</a>
    <br />
    <a rel="noreferrer" href="linktest.html">rel</a>
  </body>
</html>

и использовании Chromium 73 в Debian 9 (стабильная версия), когда я нажимаю на первую ссылку, в журнале доступа появляется реферер:

10.0.0.1 - - [02/May/2019:11:32:02 -0700] "GET /linktest.html HTTP/1.1" 304 330 "https://www.example.com/linktest.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" 

, но некогда я нажимаю вторую ссылку, в которой явно указано rel="noreferrer":

10.0.0.1 - - [02/May/2019:11:32:06 -0700] "GET /linktest.html HTTP/1.1" 304 330 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" 

Я также пытался добавить target="_blank" в тег base, но это не изменило поведение реферера, просто принудительно вызвалопо умолчанию ссылки открываются в новой вкладке (чего я не хочу).

Должно ли это работать?Если так, почему это не работает?

Есть ли способ (желательно без использования javascript) заставить все ссылки со страницы подавлять реферер, который будет работать по крайней мере с моим браузером и предпочтительно с большинством современных браузеров?

1 Ответ

1 голос
/ 02 мая 2019

Я полагаю, вы ищете:

<meta name="referrer" content="no-referrer">

Это согласно MDN , но я не смог проверить, работает ли он.

Элемент base не имеет атрибута rel в соответствии со спецификацией.

...