Я знаю, що можна отримати порожній HTTP_REFERER. За яких обставин це відбувається? Якщо я отримую порожній, чи завжди це означає, що користувач змінив його? Отримати порожній такий же, як отримати нульовий? і за яких обставин я теж це отримую?
Я знаю, що можна отримати порожній HTTP_REFERER. За яких обставин це відбувається? Якщо я отримую порожній, чи завжди це означає, що користувач змінив його? Отримати порожній такий же, як отримати нульовий? і за яких обставин я теж це отримую?
Відповіді:
Він буде / може бути порожнім, коли ендузер
HTTP_REFERER - надсилається браузером із зазначенням останньої сторінки, яку переглядав браузер!
Якщо ви довіряєте [HTTP_REFERER] з будь-якої важливої причини, ви не повинні, оскільки це можна легко підробити:
Спробуйте це розширення для Firefox, ви зможете встановити будь-які заголовки:
@Master of Celebration:
Firefox:
розширення: refspoof , refontrol , модифікувати заголовки , no-referer
Повністю відключити: параметр доступний у about: config у розділі "network.http.sendRefererHeader", і ви хочете встановити це значення 0, щоб відключити передачу реферера.
Google chrome / Chromium:
розширення: noref , spoofy , зовнішній noreferrer
Повністю відключіть: Chnage ~ / .config / google-chrome / Default / Preferences або ~ / .config / Chrome / Default / Preferences та встановіть це:
{
...
"enable_referrers": false,
...
}
Або просто додайте --no-referenceers до ярлика або в cli:
google-chrome --no-referrers
Опера:
Повністю відключіть: Налаштування> Налаштування> Додатково> Мережа та зніміть прапорець "Надіслати інформацію про реферала"
Підробляння веб-сервісу:
Автономний проксі-фільтрувальний проксі (підробляти будь-який заголовок):
Підміняти http_referer під час використання wget
'--referer = url'
Підробляти http_referer при використанні curl
-е, - реферер
Підробляти http_referer з telnet
telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
Some browsers limit access to not allow HTTP_REFERER to be passed
Чи можете ви назвати приклад такого браузера та / або розширення?
Він також буде порожнім, якщо буде використано новий стандартний чернетки політики перенаправлення, щоб запобігти надсиланню заголовка реферала до джерела запиту. Приклад:
<meta name="referrer" content="none">
Хоча Chrome і Firefox вже реалізували проект версії Посилань на політику, ви повинні бути обережними з нею, оскільки, наприклад, Chrome очікує no-referrer
замість none
(і я never
десь бачив ).
Я визнав реалізацію реферального браузера справді непослідовною.
Наприклад, елемент прив’язки з атрибутом "завантажити" працює як очікується в Safari і надсилає реферала, але в Chrome референт буде порожнім або "-" в журналах веб-сервера.
<a href="http://foo.com/foo" download="bar">click to download</a>
У Chrome порушено - референт не надіслано.