Хак Редирект

Тема в разделе "DLE", создана пользователем LEXAlForpostl, 25 янв 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Нужен, редирект без каких-либо дополнительных страниц (как реализовано в модуле Redirect)
    Пробовал один способ, пишет ошибка, при попытке отредактировать комментарий

    Parse error: syntax error, unexpected T_STRING in ***/engine/classes/parse.class.php on line 374
    374я строка
    "$find = array ();"

    Способ:
    Код:
    Находим в каталоге 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('\1\2', '\3')", $txt );
    
    
    Находим
    return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];
    
    
    Заменяем
    /*
    Формирование URL-адреса
    */
    if($this->check_home($url['html'])||$this->check_friends($url['html']))
    {
           return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];
    }
    else
    {
          $url['html'] = $config['http_home_url']."go/?".($url['html']);
          return "<!--FFriend--><noindex><a rel="nofollow" href="".$url['html']."" ".$target.">".$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=".$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=".$url."]".$show."[/url]";
    }
    
    
    Сохраняем, заливаем.
    
    в строке
    $friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");
    
    
    мы указывалипуть к текстовичку, в котором будут дружественные сайты. Изменяем путь и имя по желанию.
    Создаем в папке engine подпапку friend, файл friend_url.txt. Не забудьте проверить права на чтение нашей папки и файла с URL.
    Заполняем файл friend_url.txt в каждой строке по домену, в формате [url]http://dletweak.ru/[/url]
    
    Создаем в корне папку go в ней файл index.php такого содержимого
    <?php
    if (!empty($_SERVER['QUERY_STRING'])){
    $re_addr=$_SERVER['QUERY_STRING'];
    header('Location: '.$re_addr);
    }
    ?>
    
    
    
    создаем там же файл .htaccess
    содержимого
    DirectoryIndex index.php
    RewriteEngine Off
    Написано было, что это для версий ДЛЕ 7.0-7.3
    Может есть возможность адаптировать под 7.5?
     
    Iwashka нравится это.
  2. method

    method

    Регистр.:
    8 июл 2007
    Сообщения:
    559
    Симпатии:
    133
    FORMAT нравится это.
  3. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    Если я не ошибаюсь, то есть фикс для парсера => [leech=]
     
  4. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
     
    Iwashka нравится это.
  5. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    parse.class.php:

    Найти:
    Код:
    function BB_Parse($source, $use_html=TRUE) {
    global $config, $lang;

    ниже добавить
    Код:
    $source = str_replace(array('[url', 'url]'), array('[leech', 'leech]'), $source);
    вроди так ...
     
  6. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Какой вид будут иметь ссылки?
    Будет ли действовать этот метод на ссылки в профилях?
     
    Iwashka нравится это.
  7. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    все ссылки будут LEECH
     
  8. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Прошу прощения, что такое Leech?
    С ДЛЕ знаком недавно.
     
    Iwashka нравится это.
  9. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    Редирект такого формата:
    http://сайт/engine/go.php?url=aHR0cDovL3d3dy5yYXJsYWIuY29tL3Jhci93cmFyMzgwcnUuZXhl
     
  10. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Ссылки в уже размещенных постах автоматически изменяться или надо будет редактировать?
     
    Iwashka нравится это.
Статус темы:
Закрыта.