Подскажите как сделать безопасный редирект

D
На сайте с 20.09.2010
Offline
175
559

Такая ситуация:

делаю редиректы со своего сайта на другие с помощью файла out.php:

<?

header("Location: ".$_GET['u']);

?>

тоесть ссылка выглядит так: out.php?u=http://yandex.ru

Заметил что на сайте увеличилось количество страниц в ПС, смотрю а там куча страниц вида:

http://mysite.com/out.php?u=kakayata_hren_iz_teksta

и это все попадает в индекс, таких страниц тысячи

Подскажите как сделать правильный редирект, чтобы исключить возможность создания таких страниц?

---------- Добавлено 02.03.2016 в 03:20 ----------

как думаете подойдет такой вариант для файла out.php:


if(preg_match('#(http?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$_GET['u']))
{
header("Location: ".$_GET['u']);
}
else
{
header('HTTP/1.1 404 Not Found');
}
plattoo
На сайте с 12.05.2010
Offline
195
#1

просто урл редиректа нужно закрыть в роботсе, и все дела

D
На сайте с 20.09.2010
Offline
175
#2

Он у меня был закрыт

User-agent: *

Disallow: /out.php

что-то не помогло..

TF-Studio
На сайте с 17.08.2010
Offline
334
#3
if (isset($_SERVER['QUERY_STRING']))
{
$go = $_SERVER['QUERY_STRING'];
$go = base64_decode($go);
if(!preg_match('#(http?|https)://\S+[^\s.,>)\];\'\"!?]#i',$go))
{
die;
}
@header('Location: '.$go);
}

..........

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий