ссылка через скрипт php

12
Slugger
На сайте с 06.04.2006
Offline
5
2532

я не шарю в php (но учить надо конечно, но времени нет).

как сделать ссылку, которая бы ссылалась на php страницу, которая в свою очередь запускала другой сайт. Это получается редирект?

или хотя бы так, чтобы настоящей ссылки не было видно, а только ссылка на что-нибудь другое...

не знаю поняли ли вы меня или нет...:)

M
На сайте с 21.11.2004
Offline
230
#1

onMouseOut="window.status='';return true;" onMouseOver="window.status='';return true;"

Продвигаю домены руками (http://roke.ru)
A
На сайте с 05.11.2005
Offline
111
#2

или может iframe?

GB
На сайте с 22.04.2006
Offline
2
#3

Ссылка на страницу редиркта:


<a href="/goto.php?jump=http://www.php.net">Документация по PHP на русском</a>

Файл с редиректом примерно такой:


<?php
#Это строка нужна только
#если сервер работает в безопасном режиме
$jump = $_POST [ 'jump' ] ;

#Делаем редирект
header ( "Location: $jump" ) ;
exit ;
?>

Ну вот... ничего сложного. Только обратите внимание, что до редиректа в браузер не должна просочиться даже муха, в том числе пробелы в не PHP кода также приведут к ошибке.

[Удален]
#4

<?php

header("Location: http://www.domain.com/temporary-address/temporary-file-name.html");

exit();

?>

Oniks
На сайте с 22.08.2005
Offline
176
#5
Go_blin:
#Это строка нужна только
#если сервер работает в безопасном режиме

Поправка: эта строка нужна ВСЕГДА, т.к. доступ через $jump зависит не от save mode, а от track_vars, которая на %% 99 серверов отключена.

Профессиональные услуги фотографа в Москве и области (http://www.oniks-photo.ru/) покупаю стать и ссылки с сайтов про охоту
GB
На сайте с 22.04.2006
Offline
2
#6
Oniks:
Поправка: эта строка нужна ВСЕГДА, т.к. доступ через $jump зависит не от save mode, а от track_vars, которая на %% 99 серверов отключена.

Да? Не знал про 99%... а на счет track_vars, то начиная с PHP версии 4.0.3 она включена всегда. Да и вообще вы немного промахнулись о track_vars...

a.fatman
На сайте с 15.01.2006
Offline
127
#7
$jump = $_POST [ 'jump' ] ;

Поправьте меня, если я ошибаюсь, но, по-моему, переменную вы передаете не через POST, а через GET.

Я бы написал:

$jump = $_REQUEST["jump"];
content
На сайте с 23.01.2006
Offline
103
#8

Если использовать

<a href="/goto.php?jump=http://www.php.net">
в связке с
<?php 

$jump = $_REQUEST[ 'jump' ];
header ("Location: $jump") ;
exit ;
?>

то кто угодно сможет пользовать этот редирект.

Я бы рекомендовал использовать предподготовленный массив с проверкой.

Ссылка на первый URL из массива:

<a href="/goto.php?jump=1">site1</a>

Файл-редиректор:

<?

$jump = $_REQUEST['jump'];

$urls = array (1 => "http://site1", 2 => "http://site2");

if (in_array ($jump, $urls)) {
header ("Location: ".$urls[$jump]);
die();
} else {
echo "Sorry, wrong input.";
}
?>
a.fatman
На сайте с 15.01.2006
Offline
127
#9
content:
то кто угодно сможет пользовать этот редирект.

И что в этом страшного?

Во-первых, если ссылок много, и они постоянно обновляются, то устанешь массив обновлять. Например, я в блоге ставлю ссылку на что-то обычным образом, она автоматом заменяется на редирект (который, по совместительству, счетчик ссылок).

Во-вторых, в варианте "goto.php?jump=1" человек не видит, куда ему предлагается перейти, нажав на ссылку. Если же показывать URL, то это будет гораздо понятнее.

content
На сайте с 23.01.2006
Offline
103
#10

a.fatman, я перефразирую, в этом нет ничего хорошего. Вы даете, к примеру, возможность спамить через ваш скрипт (если не рубить параметры) или позволяете такие прелестные вещи, как:


<a href="/goto.php?jump=/goto.php?jump=">

В общем есть над чем работать.

Если ссылок много, много прикрутить БД или просто текстовый файл. Их же как-то придется менеджить.

Во-вторых, в варианте "goto.php?jump=1" человек не видит, куда ему предлагается перейти, нажав на ссылку. Если же показывать URL, то это будет гораздо понятнее.

А при варианте - /goto.php?jump=http://www.php.net - обычный человек точно видит куда он перейдет? ;)

12

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