Помощь редирект

Тема в разделе "DLE", создана пользователем Z@R@Z@, 3 фев 2010.

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

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

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

    Z@R@Z@ Создатель

    Регистр.:
    12 июн 2006
    Сообщения:
    28
    Симпатии:
    7
    заметил что некоторые сайты накручивают себе рейтинг за счёт других сайтов с помощью редиректа...
    пример... добавляют на страницы своего сайта (sait2) ссылки вида
    sait.ru/engine/redirect.php?url=http://sait2.ru
    где sait это мой сайт...
    Как сделать так чтобы редирект работал только с сайта sait.ru?
    код redirect.php...
    PHP:
    <?php

     
    /***********************************************
             **  @ Author: Hamer
             **  @ Age-Web Media Group
             **  @ 2007-2008
             **  @  ICQ 988303 
             
             aw.hamer@gmail.com
             
             -----------------------------------------------
             http://age-web.org
             http://getdle.ru
      *************************************************/

      
    error_reporting(7);

        
    define('ROOT_DIR''..' );
        
    define('ENGINE_DIR' ROOT_DIR '/engine');
        
        require_once ( 
    ENGINE_DIR '/data/config.php');
         
         
         
            if ( !
    count($config)  || !$config
                {
                    die (
    "Ошибка в файле <b>engine/data/config.php</b>");
                }
        
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        // Настройки
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
            // Задержка секунд 
            
            
    define('TIME_SEC' ); // по умолчанию  3 
            
            // Проверка на валидность URL ?
            
            
    define('URL_CHECK' 1); // по умолчанию 1 ( 0 - нет )
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        // Дальше не мацать код
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        
    $url  = (isset($_GET['url']) && (!empty($_GET['url']))) ? trim($_GET['url']) : @header('Location: /index.php');
        
        if  ( 
    URL_CHECK 
        {
            if ( !
    eregi 'http://' $url ))
            {
                  die (
    "Неправильно построенный url");
            }
        }   
            
    $link     "<a href=\"".$url."\">".$url."</a>";
        
            include_once ( 
    ENGINE_DIR '/' . (($config['version_id'] > 6.2) ? 'classes' 'inc') . '/templates.class.php');
            
            
    $skin = new dle_template;
            
    $skin -> dir = ( ROOT_DIR.'/templates/');
            
            
    $skin -> load_template('redikt.tpl');
            
    $skin -> set('{link}'$link );
            
            
    $TIME_SEC TIME_SEC;
            
        if ( 
    TIME_SEC ) {
    $skin -> copy_template .= <<<JAVA
    <script>

    // *************
    // ** Age-Web Timer
    // *************

        var ints = 
    {$TIME_SEC};
      
        
        function alertes () {
          
         document.getElementById('calc').innerHTML = ints;
          
            if ( ints == 0 ) {
               document.location.href = '
    {$url}';
               ints = '--';
            }
          if ( ints > 0 ) {
              ints--;
        }
        };
        
        function refresh(){
            if(ints > 0) time_Interval = setInterval("alertes ()", 1000 );
        };
        
         refresh();    
          
    </script>
    JAVA;
    }
            
    $skin -> compile('redikt');
            
    $skin -> clear();
            
            
            
            
        
    //вывод
      
    print ( $skin -> result ['redikt'] );
        
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ?>
     
  2. CNiks0N

    CNiks0N lamp.root

    Регистр.:
    28 ноя 2008
    Сообщения:
    230
    Симпатии:
    48
    И какой смысл в такой ссылке?
    А если надо полюбому то:
    1. Поставь хотябы 20 хайд (не вижу).
    2. Делай проверку

    if ( str_replace('www.', '', GetEnv('HTTP_HOST')) != 'site.ru' )
    die('404');
     
    Z@R@Z@ нравится это.
  3. Z@R@Z@

    Z@R@Z@ Создатель

    Регистр.:
    12 июн 2006
    Сообщения:
    28
    Симпатии:
    7
    вставил этот код в redirect.php... заменил site.ru на свой... проверил... не работает... всё равно можно перейти с любого сайта...
    на форуме ничего похожего не нашёл...
     
  4. slim84

    slim84 Постоялец

    Регистр.:
    28 апр 2008
    Сообщения:
    52
    Симпатии:
    18
    Причем здесь рейтинг, таким образом закрываются внешние ссылки.
    Если все же хотите блокировать таких посетителей (но зачем!) или перенаправлять на главную, то надо проверять - referer.
     
  5. Z@R@Z@

    Z@R@Z@ Создатель

    Регистр.:
    12 июн 2006
    Сообщения:
    28
    Симпатии:
    7
    пример такого сайта... myonlinelink.narod.ru

    зы: надо уточнить... работает ли такая схема накрутки Тиц...
     
  6. Z@R@Z@

    Z@R@Z@ Создатель

    Регистр.:
    12 июн 2006
    Сообщения:
    28
    Симпатии:
    7
    проблему решил... просто переименовал файл с редиректом...
     
  7. CNiks0N

    CNiks0N lamp.root

    Регистр.:
    28 ноя 2008
    Сообщения:
    230
    Симпатии:
    48
    :D Вот так обычно и бывает - мучаешся, мучаешся, а проблема в пустом :)
     
Статус темы:
Закрыта.