dle.in.ua » Хаки » Редирект с поддержкой исключений

Редирект с поддержкой исключений

Автор: ZoloBen от 20-01-2009, 14:12
Самое радикальное решение борьбы со ссылочным спамом, оставляя кликабельность, это редирект. Данный хак не только ставит редиректы, но и покрывает ссылки редиректа в ноиндекс и нофоллов, таким образом вес вашей страницы не будет уменьшаться из за ссылок например на ту же рапиду. А самая главная фишка, - поддержка сайтов-исключений (дружественных сайтов) на которые редирект ставится не будет.
Обрабатываются все ссылки, которые проходят через парсер - новости, коменты, профиль и так далее. Ссылки вставленые в шаблон вами естественно не трогаются.

Xак применяется для новостей, которые добавляются после установки этого хака, а старые новости надо заново открывать для редактирования и сохранять.
Проверялся на 7.0 и 7.3, пока проблем не возникло,мною тестировались все прерыдущие версии этого хака, все они были доработаны и на данный момент это финальная версия.
Самое радикальное решение борьбы со ссылочным спамом, оставляя кликабельность, это редирект. Данный хак не только ставит редиректы, но и покрывает ссылки редиректа в ноиндекс и нофоллов, таким образом вес вашей страницы не будет уменьшаться из за ссылок например на ту же рапиду. А самая главная фишка, - поддержка сайтов-исключений (дружественных сайтов) на которые редирект ставится не будет.
Обрабатываются все ссылки, которые проходят через парсер - новости, коменты, профиль и так далее. Ссылки вставленые в шаблон вами естественно не трогаются.

Xак применяется для новостей, которые добавляются после установки этого хака, а старые новости надо заново открывать для редактирования и сохранять.
Проверялся на 7.0 и 7.3, пока проблем не возникло,мною тестировались все прерыдущие версии этого хака, все они были доработаны и на данный момент это финальная версия.



Установка...

Находим в каталоге engine/classes/ файл parse.class.php, открываем его нашим редактором найдите следующую строчку кода:
if ($this->filter_mode) $txt = $this->word_filter($txt, false);



вставляем ниже
/*  
Раскодировка сформированного URL-адреса
*/
$txt = preg_replace( "#<!--FFriend--><noindex><a rel="nofollow" href="['](http://|https://|ftp://|ed2k://|news://|magnet:)?(S.+?)['">(.+?)</a></noindex><!--EndFFriend-->#ie" , "$this->decode_friend('12', '3')", $txt );


Находим
return "[url=href]" . $url['end'];


Заменяем
/*
Формирование URL-адреса
*/
if($this->check_home($url['html'])||$this->check_friends($url['html']))
{
       return "<a href="href">".$show."[/url]" . $url['end'];
}
else
{
      $url['html'] = $config['http_home_url']."go/?".($url['html']);
      return "<!--FFriend--><noindex><a rel="nofollow" href="href">".$show."</a></noindex><!--EndFFriend-->" . $url['end'];
}


Находим
function word_filter($source, $encode = true) {



вставляем выше
/*
Функция: "Дружественный URL"
*/    
function check_friends ($url)
{
    global $config;          
    $friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");      
        
    for ($i = 0; $i < count($friend_url); $i++)
    {  
        $value = str_replace("http://", "", trim($friend_url[$i]));
        $value = str_replace("www.", "",    $value);
        $value = explode('/', $value);
        $value = reset($value);
                      
        if ($value == "" ) continue;
        if (strpos($url, $value) === false) continue; else return true;
    }
    return false;
}


Находим
return "[leech=http://".$url."]\".$show.\"[/leech]";
}


Вставляем ниже
/*
Раскодировка сформированного URL-адреса
*/
function decode_friend($url="", $show="")
{    
    global $config;
    $home_url = $config['http_home_url']."go/?";
        
    $url = str_replace($home_url, "", $url);
    $url = explode ("url=", $url);
    $url = end ( $url );
    $url = rawurldecode($url);
        
    return "[url=http://".$url."]".$show."[/url]";
}


Сохраняем, заливаем.

в строке
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");


мы указывалипуть к текстовичку, в котором будут дружественные сайты. Изменяем путь и имя по желанию.
Создаем в папке engine подпапку friend, файл friend_url.txt. Не забудьте проверить права на чтение нашей папки и файла с URL.
Заполняем файл friend_url.txt в каждой строке по домену, в формате http://dletweak.ru/

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



создаем там же файл .htaccess
содержимого
DirectoryIndex index.php
RewriteEngine Off
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Кто-нибудь ставил?
    • ForUa
    • Регистрация: --
    • Репутация: (||)
    • 21 января 2009 10:53
    • 1
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Я
    • ZoloBen
    • Регистрация: --
    • Репутация: (||)
    • 4 февраля 2009 14:04
    • 2
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • А у меня стоит более ранняя версия этого творения. Работает как часики. Кто ставил, отпишитесь, стоит ли менять хорошее старое, на новое?
    • bestrefer
    • Регистрация: --
    • Репутация: (||)
    • 6 февраля 2009 12:08
    • 3
    ^
  • Группа: User
  • Icq: 378421437
  • Комментариев: 63
  • Публикаций: 0
  • в описание подвоение

    --------------------
    • Bartz2
    • Регистрация: 29.02.2008
    • Репутация: (0|0|0)
    • 18 февраля 2009 00:30
    • 4
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 5
  • Публикаций: 0
  • а на 9,0 пойдет ?

    --------------------
    • HUNteror
    • Регистрация: 6.08.2010
    • Репутация: (0|0|0)
    • 8 сентября 2010 15:35
    • 5
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.