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

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

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
Другие новости по теме:

Категория: Хаки ----- Просмотров: 4112 ----- Комментариев: 5

Вернуться

  • ForUa

  • 21 января 2009 10:53
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Кто-нибудь ставил?
  • ZoloBen

  • 4 февраля 2009 14:04
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Я
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
А у меня стоит более ранняя версия этого творения. Работает как часики. Кто ставил, отпишитесь, стоит ли менять хорошее старое, на новое?
  • Bartz2

  • 18 февраля 2009 00:30
  • Группа: User
  • ICQ: 378421437
  • Регистрация: 29.02.2008
  • Комментариев: 63
  • Публикаций: 0
^
в описание подвоение

--------------------
  • HUNteror

  • 8 сентября 2010 15:35
  • Группа: User
  • ICQ: --
  • Регистрация: 6.08.2010
  • Комментариев: 5
  • Публикаций: 0
^
а на 9,0 пойдет ?

--------------------