Я пытаюсь выполнить перенаправление страницы выхода, основная цель - скрыть данные http-реферера точного пути к странице,
Я использовал этот код как страницу exit.php:
<?php
/*
* Sets the HTTP headers to redirect the user to a different page
* along with settings the HTTP status code to 307 Temporary Redirect
*/
function redirect($url) {
header("Location: {$url}", true, 307);
}
/*
* Checks if the URL is valid and uses the HTTP or HTTPS scheme.
*/
function valid_url($url) {
if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED|FILTER_FLAG_HOST_REQUIRED) === false) {
return false;
}
$scheme = parse_url($url, PHP_URL_SCHEME);
if($scheme !== "http" && $scheme !== "https") {
return false;
}
return true;
}
if(!isset($_GET['url'])) {
// Missing required argument. What should we do?
redirect("/");
exit;
}else{
$url = $_GET['url'];
if(valid_url($url)) {
redirect($url);
exit;
}else{
// Invalid URL. What should we do?
redirect("/");
exit;
}
}
а затем на странице я добавляю ссылку следующим образом:
<a href="/exit.php?url=http%3A%2F%2Fexample.com">Example.com</a>
Но когда я тестирую его с помощью https://www.whatismyreferer.com/, я все равно получаю точный путь, так что я не уверен, что я делаю неправильно здесь
источник кода: http://geekthis.net/post/hide-http-referer-headers/
referrer
отправляется браузером, я не думаю, что вы можете контролировать это со стороны сервера, попробуйте вместо этого использовать<meta name="referrer" content="no-referrer">
- person Spoody   schedule 15.01.2018