Вопрос по PHP. Нужно решение.

BadBoy
На сайте с 31.01.2005
Offline
291
855

Приветствую.

Есть такой код.

<?php


function reset_url($url) {
$value = str_replace("http://", "", $url);
$value = str_replace("www.", "", $value);
$value = explode("/", $value);
$value = reset($value);
return $value;
}
$url = rawurldecode($_GET['url']);
$url = @base64_decode($url);
$url = str_replace("&amp;" , "&", $url);

$_SERVER['HTTP_REFERER'] = reset_url($_SERVER['HTTP_REFERER']);
$_SERVER['HTTP_HOST'] = reset_url($_SERVER['HTTP_HOST']);

if (($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) OR $url == "") { @header('Location: /index.php'); die ("Access denied!!!<br /><br />Please visit <a href=\"/index.php\">{$_SERVER['HTTP_HOST']}</a>"); }

@header('Location: '.$url);

die ("текст сообщения перехода на внешний ресурс");

?>

Этот код отвечает за перенаправление по ссылке (редирект)

Вопрос.

Как сделать так, что когда ссылка указывается на внешний ресурс, то появлялся текст сообщения. А если на внутреннюю страницу, то ничего не появлялось, просто был переход по ней?

Должна быть проверка на домен, так как я не бум бум в php, прошу помощи у гуру.

Спасибо.

W
На сайте с 06.09.2005
Offline
42
#1

if !strpos($_SERVER['HTTP_HOST'], $vashdomen)

die ("текст сообщения перехода на внешний ресурс");
webmasters -вебмастер с сайтов:http://www.ibrahimovfamil.narod.ru (http://www.ibrahimovfamil.narod.ru) http://www.allshops.h15.ru (http://www.allshops.h15.ru),http://www.forumall.h15.ru (http://www.forumall.h15.ru) http://www.zarabotka.hut1.ru (http://www.zarabotka.hut1.ru)
BadBoy
На сайте с 31.01.2005
Offline
291
#2

Куда надо это вставить?

Как записывать переменную $vashdomen ?

ошибки:

Parse error: syntax error, unexpected '!', expecting

после удаления знака !:

Parse error: syntax error, unexpected T_STRING, expecting '('

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

BadBoy:
так как я не бум бум в php
T
На сайте с 11.08.2005
Offline
181
#3

попробуйте так:


<?
function reset_url($url) {
$value = str_replace("http://", "", $url);
$value = str_replace("www.", "", $value);
$value = explode("/", $value);
$value = reset($value);
return $value;
}
$url = rawurldecode($_GET['url']);
$url = @base64_decode($url);
$url = str_replace("&amp;" , "&", $url);

$_SERVER['HTTP_REFERER'] = reset_url($_SERVER['HTTP_REFERER']);
$_SERVER['HTTP_HOST'] = reset_url($_SERVER['HTTP_HOST']);

if (($_SERVER['HTTP_HOST']!=$_SERVER['HTTP_REFERER']) OR $url == "")
{
@header('Location: /index.php');
die ("Access denied!!!<br /><br />Please visit <a href=\"/index.php\">{$_SERVER['HTTP_HOST']}</a>");
}

if (!strstr($url,$_SERVER['HTTP_HOST']))
{
die ("текст сообщения перехода на внешний ресурс");
}

@header('Location: '.$url);
?>
BadBoy
На сайте с 31.01.2005
Offline
291
#4

Спасибо. Работает!

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