Простой клоакинг. Помогите немного усложнить..

Тема в разделе "Как сделать...", создана пользователем spiderbuber, 31 май 2012.

Статус темы:
Закрыта.
  1. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Имеется простой скрипт клоакинга, который юзеру с ПС показывает один контент, а всем остальным - другой.
    PHP:
    <?php
    function ps(){
      
    $ref $_SERVER['HTTP_REFERER'];
      
    $SE = array('google.''mail.''yandex.''aport.''rambler.''search.''.yahoo.');
      foreach (
    $SE as $source) {
        if (
    strpos($ref,$source)!==false)
            return 
    true;
        }
        return 
    false;
    }
     
    if (
    ps()) { echo "Контент для юзера с ПС"; } else { echo " Контент для остальных";}
    ?>
    Но проблема в том, что при переходе на другую страницу сайта "Контент для юзера с ПС" превращается в " Контент для остальных" :)
    Как сделать, чтобы этого не происходило? Т.е. чтобы юзер, пришедший с ПС всегда видел заданный контент?
     
  2. deling2

    deling2

    Регистр.:
    27 янв 2008
    Сообщения:
    326
    Симпатии:
    216
    Добавить куки, к сожалению с кодом помочь не могу, я не программист.
     
  3. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Это я тоже прекрасно понимаю, знал бы как - не спрашивал.
     
  4. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    PHP:
    if (ps() || $_COOKIE['ps']==1) {
    setcookie("ps","1",time()+60*60*24*30);
    echo 
    "Контент для юзера с ПС";
    } else { echo 
    " Контент для остальных";}
    60*60*24*30 - куки на 30 дней
     
    spiderbuber нравится это.
  5. Dima Kos

    Dima Kos Постоялец

    Регистр.:
    1 апр 2010
    Сообщения:
    54
    Симпатии:
    6
    ну или использовать сессию.
    PHP:
    <?php
    function ps(){
      
    session_start(); //стартуем сессию
      
    $ref $_SERVER['HTTP_REFERER'];
      
    $SE = array('google.''mail.''yandex.''aport.''rambler.''search.''.yahoo.');
      foreach (
    $SE as $source) {
        if (
    strpos($ref,$source)!==false){
        
    $_SESSION['u_from'] = "search"//присваиваем пользователю метку поиск
        
    break; //прерываем цикл если пользователь из поиска
        
    }
        }
    }
     
    ps(); //запускаем функцию проверки один раз в том месте где это нужно
     
    if ($_SESSION['u_from']=="search") { echo "Контент для юзера с ПС"; } else { echo " Контент для остальных";} //проверяем есть ли у пользователя метка поиск
    ?>
     
    spiderbuber нравится это.
  6. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Всем спасибо. Тему можно закрывать..
     
Статус темы:
Закрыта.