Простой обработчик внешних ссылок Dle

djinn11
На сайте с 16.05.2010
Offline
52
1503

Здравствуйте! Подскажите что надо сделать что бы внешние ссылки автоматически преобразовывались в ссылки вида сайт.ру/go?другой-сайт.ру ? Стандартная функция leech не подходит, она кодирует ссылки.... модули, это все не то...

Как сделать самый простой обработчик внешних ссылок?

Написал сюда потому что не смог ни где найти то что мне нужно...

Спасибо!

SIQWELL - Сервера, VDS, Хостинг во Франции, Люксембурге. Администрирование и IT обслуживание (https://siqwell.pw/aff.php?aff=003) Лучшая партнерка для download трафика! (http://loadpays.com/s.php?f=11008)
V
На сайте с 03.12.2007
Offline
94
#1

Простой обработчик за 3 минуты

Создайте файл go.php в корне с таким содержимым


<?php
if (isset($_GET['go']) )
{
if(isset($_SERVER['HTTP_REFERER']) && preg_match('/^http:\/\/'.$_SERVER["SERVER_NAME"].'/',$_SERVER["HTTP_REFERER"])) {
//проверяем, действительно ли пререход по ссылке с нашего сайта
$site_address = str_replace("'", '', $_GET['go']);
if (!preg_match('/^http?:\/\//', $site_address)) {
//если ссылка без http, то дописываем протокол
$site_address = 'http://'.$site_address;
}
header("Location:".$site_address);
exit;
}
else
{
echo 'Переход не с сайта.';
}
}
?>

теперь ссылкм можно писать как http://www.ваш_сайт.ру/go.php?go=ya.ru

djinn11
На сайте с 16.05.2010
Offline
52
#2
vavenko:
Простой обработчик за 3 минуты
теперь ссылкм можно писать как http://www.ваш_сайт.ру/go.php?go=ya.ru

А что тут писать?

echo 'Переход не с сайта.';

Спасибо! Но, а как сделать что бы это происходило автоматически?

V
На сайте с 03.12.2007
Offline
94
#3

Нашел хак в интернете, но не проверял. поэтому используйте на свой страх и риск.

1.Oткройте файл: "\engine\classes\parse.class.php" ,через блокнот

Найдите в нём:

"return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];"

И замените эту строку на это:

if(eregi($_SERVER['SERVER_NAME'],$url['html']))

return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];
else
return"<a href=\"http://Укажите адрес вашего сайта!!!/go.php?go=".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];

Вместо echo 'Переход не с сайта.'; можете писать все что угодно. или поставить функцию редиректа на главную страницу. Это для того, чтобы другие сайты не воспользовались вашим редиректом

V
На сайте с 05.01.2011
Offline
23
#4

автоматом проще всего навесить onclick на все теги <a> ну и далее юзать

djinn11
На сайте с 16.05.2010
Offline
52
#5
vavenko:
Нашел хак в интернете, но не проверял. поэтому используйте на свой страх и риск.

Спасибо, попробую отпишусь...

Интересно чем я рискую ставя этот хак?

---------- Добавлено 25.02.2012 в 17:02 ----------

Спасибо, но эти коды не работают на 9.5, ссылки из новости просто исчезают...

заглянул в редактирование, а там.... они вообще непонятно как то сформированы, теги начинаются, но не заканчиваются и т.д., все стало не правильно... в общем не работает..

V
На сайте с 05.01.2011
Offline
23
#6
djinn11:
Спасибо, попробую отпишусь...
Интересно чем я рискую ставя этот хак?

---------- Добавлено 25.02.2012 в 17:02 ----------

Спасибо, но эти коды не работают на 9.5, ссылки из новости просто исчезают...
заглянул в редактирование, а там.... они вообще непонятно как то сформированы, теги начинаются, но не заканчиваются и т.д., все стало не правильно... в общем не работает..

зачем мучатся прикрути онклик и локэйшеном посылай на тот же go

djinn11
На сайте с 16.05.2010
Offline
52
#7
veterinar:
зачем мучатся прикрути онклик и локэйшеном посылай на тот же go

Да я не знаю как это сделать... вот даже элементарного...

Не разбираюсь просто... подскажете куда что прописать?

Спасибо.

RM
На сайте с 21.06.2011
Offline
77
#8

Вам это надо для ПС или для собственной выгоды(реклама на странице go и так далее)? Для обоих вариантов у меня есть решение, сам делал для себя, до сих пор использую... Могу поделится... Пиши в ЛС.

djinn11
На сайте с 16.05.2010
Offline
52
#9
RoMaN444Ik:
Вам это надо для ПС или для собственной выгоды(реклама на странице go и так далее)? Для обоих вариантов у меня есть решение, сам делал для себя, до сих пор использую... Могу поделится... Пиши в ЛС.

Мне это надо для поисковиков...

Я написал в Л.С...

Только что то никак ответа не дождусь...

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