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'];
}
?>
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
@webdiez
Меня все знают как WebDiez.
используй htaccess для белого листа.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы