Задать вопрос
meekes
@meekes
Стажер

Как запускать скрипт на php, для определенных реферов?

Нужно чтобы скрипт загружался с определенных рефералов.
Нашел код, но он выдает ошибки в строке session_start();
<?php
//скрипт метрики предварительно загружен в файл toolbar.js
$metrika = '<script src="https://ваш_сайт.ру/toolbar.js"></script>';

//списки разрешенных доменов, можно без указания доменной зоны
$domains = [
'seo-zona.ru', //не забываем указать свой собственный домен
'google',
'yandex',
'rambler',
'mail',
];

foreach ($domains as $item) {
$res = strripos($_SERVER['HTTP_REFERER'], $item);
if ($res) {
session_start();
setcookie("metrik", $metrika);
echo $_COOKIE['metrik'];
}
}
//А также обязательно показываем метрику всем ботам Яндекса
function isBot(&$botname = ''){
$bots = array(
'YandexBot', 'YandexAccessibilityBot', 'YandexMobileBot', 'YandexDirectDyn', 'YandexScreenshotBot',
'YandexImages', 'YandexVideo', 'YandexVideoParser', 'YandexMedia', 'YandexBlogs', 'YandexFavicons',
'YandexWebmaster', 'YandexPagechecker', 'YandexImageResizer', 'YandexAdNet', 'YandexDirect',
'YaDirectFetcher', 'YandexCalendar', 'YandexSitelinks', 'YandexMetrika', 'YandexNews',
'YandexNewslinks', 'YandexAntivirus', 'YandexMarket', 'YandexVertis',
'YandexForDomain', 'YandexSpravBot', 'YandexSearchShop', 'YandexMedianaBot', 'YandexOntoDB',
'YandexOntoDBAPI', 'YandexTurbo', 'YandexVerticals'
);
foreach($bots as $bot)
if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
$botname = $bot;
return true;
}
return false;
}
if( isBot($bname) ){
session_start();
setcookie("metrik", $metrika);
echo $_COOKIE['metrik'];
}
?>
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@webdiez
Меня все знают как WebDiez.
используй htaccess для белого листа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽