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

Статус
В этой теме нельзя размещать новые ответы.

spiderbuber

Гуру форума
Заблокирован
Регистрация
20 Июл 2009
Сообщения
237
Реакции
59
  • Автор темы
  • Заблокирован
  • #1
Имеется простой скрипт клоакинга, который юзеру с ПС показывает один контент, а всем остальным - другой.
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 " Контент для остальных";}
?>

Но проблема в том, что при переходе на другую страницу сайта "Контент для юзера с ПС" превращается в " Контент для остальных" :)
Как сделать, чтобы этого не происходило? Т.е. чтобы юзер, пришедший с ПС всегда видел заданный контент?
 
Добавить куки, к сожалению с кодом помочь не могу, я не программист.
 
PHP:
if (ps() || $_COOKIE['ps']==1) {
setcookie("ps","1",time()+60*60*24*30);
echo "Контент для юзера с ПС";
} else { echo " Контент для остальных";}
60*60*24*30 - куки на 30 дней
 
ну или использовать сессию.
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 " Контент для остальных";} //проверяем есть ли у пользователя метка поиск
?>
 
  • Автор темы
  • Заблокирован
  • #6
Всем спасибо. Тему можно закрывать..
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху