Страница не похожа на стандартную с 404 ошибкой. Но код ответа сервера 404.
Тс, попробуйте так:<?php$truehost='http://'.$_SERVER['SERVER_NAME'];$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';if (preg_match('@^'.$truehost.'@smi',$referrer)) {$url = $_GET["url"];header("Location: $url");} else { header("HTTP/1.1 404 Not Found");}
Большое спасибо! С этим кодом работает редирект на страницы, ссылки на которые ведут с моего сайта. А для левых страниц редирект не срабатывает, показывается просто пустая страница (не с 404 ошибкой). Я так понимаю, так и должно быть.
Спасибо за ответ! Этот код, вообще не делает перенаправления. Открывается пустая страница для тех страниц, на которые я делаю перенаправление и для перенаправления на порно-сайт.
<?php$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';$valid_referrer = [ 'http://пр.ru' // Здесь впишите свой сайт, а не пр.ru ];if (in_array($referrer, $valid_referrer)) { $url = $_GET["url"];header("Location: $url");} else { header("HTTP/1.1 404 Not Found");}
В коде я указываю название сайта. Просто тут изменила на форуме. Этот код нужно внедрить в файл go.php вместо строк? $url = $_GET["url"];
header("Location: $url");
Эти страницы почему-то считаются донорами. Но донор порно-сайт это плохо. Как и прыгающий тиц.---------- Добавлено 09.07.2018 в 16:40 ----------
<?php$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';$valid_referrer = [ 'http://пр.ru' ];if (in_array($referrer, $valid_referrer)) { // } else { header("HTTP/1.1 404 Not Found");}$url = $_GET["url"];header("Location: $url");
Код внедрила, он рабочий. Но на редирект с другого сайта типа: «мой сайт/go.php?url=страница порносайта» это никак не повлияло. Редирект есть и он перенаправляет на страницы порно-сайта.
<?php $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $valid_referrer = [ 'http://url.com', 'http://url-2.com' ]; if (in_array($referrer, $valid_referrer)) { // здесь редирект который был } else { header("HTTP/1.1 404 Not Found"); }
Спасибо! Поясните, пожалуйста, мне нужно добавить этот код к тому, что есть? К этому?
<?php
$url = $_GET["url"];
?>
Зачем эта строка? 'http://url-2.com'
В конце кода нужно поставить ?>?
Спасибо! Как это сделать?---------- Добавлено 09.07.2018 в 15:21 ----------
Спасибо! Уже нашла, что это открытый редирект. Но в выдаче не нашла решение своей проблемы.
Нашла код:
$_GET[‘url’] = preg_replace(«/(\.\.\/)/»,»»,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/(\\x)/»,»»,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/\\\$/»,’***036;’,$_GET[‘url’]);
$_GET[‘url’] = preg_replace(«/\\\/»,’***092;’,$_GET[‘url’]);
$_GET[‘url’] = str_replace(«|»,»***124;»,$_GET[‘url’]);
$url = $_GET[‘url’];
header(«Location: $url»);
Якобы он устраняет дыры и делает нормально редирект. Но он не срабатывает.
Спасибо за ответ! Как это сделать?
Использовала для преобразования внешних ссылок во внутренние файл с кодом:
В robotx.txt есть запрет Disallow: /go.php
Вы правы, на хостинге Cpanel.---------- Добавлено 08.07.2018 в 10:18 ----------
Я не хочу раскручивать основной домен за счет поддоменов, а просто задумалась, что может тормозить развитие сайта, который на хостинге размещается в качестве аддона. У меня аддоны не для сео. Это такой тарифный план на хостинге - бесконечное количество доменов второго уровня. Но они все, начиная со второго являются аддонами.