- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется функция:
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;
}
?>
Т.е. если посетитель зашел с рефом из указанного массива, то с ним совершаются определённые действия..
Как изменить функцию, чтобы было "любой реф, кроме прямого введения урла (закладочный траф)"?
ну и налоите правило, если $_SERVER['HTTP_REFERER'] пустой, то...
разные браузеры могут разный закладочный выдавать, прогоните для надежности на локалке и посмотрите какой браузер что выдает
$ref = $_SERVER['HTTP_REFERER'];
У вас нет проверки на то, если $_SERVER['HTTP_REFERER'] пустой. А он будет пустой когда адрес набирают ручками.
siv1987, с таким кодом при вбиве - отображается условие без рефа, но если ходить по страничками, то уже срабатывает условие, что реф есть.
Нужно как-то учесть чтобы не учитывался реф при переходе по внутренним страницам.
+ я ставлю еще куку. Вот полный код:
function ps(){
$ref = $_SERVER['HTTP_REFERER'];
if( $ref ) {
return true;
}
else {
return false;
}
}
if (ps() || $_COOKIE['ps']==1) {
setcookie("ps","1",time()+60*60*24*30);
echo "Контент для юзера с рефом";
} else { echo " Контент для остальных";}
?>
с таким кодом при вбиве - отображается условие без рефа, но если ходить по страничками, то уже срабатывает условие, что реф есть.
А так не работает "Контент для юзера с рефом"..
ну тогда так точно должно правильно сработать
А может быть легче куку повесить?
siv1987, теперь ок, спасибо! )
Как оказалось всё-равно не работает :(
Кука тоже не помогает..
Проблема та же: при вбиве - отображается условие без рефа, но если ходить по страничками, то уже срабатывает условие, что реф есть.
Вот код с кукой:
function ps(){
$ref = $_SERVER['HTTP_REFERER'];
$host = preg_quote( str_replace('www.', '', $_SERVER['HTTP_HOST']), '#' );
if( $ref AND ! preg_match( "#^http://(www\.)?{$host}#", $ref ) ){
return true;
}
else{
return false;
}
}
if (ps() || $_COOKIE['ps']==1) {
setcookie("ps","1",time()+60*60*24*30);
echo "Контент для юзера с рефом";
} else { echo "Контент для остальных";}
?>