Cialis Cialis Fiyat
Cialis Fiyat
1v1.lol unblocked google sites unblocked bit life unblocked slope unblocked yohoho unblocked io games unblocked drive mad unblocked 1v1.lol unblocked io games krunker.io 1v1.lol
melbet megapari 1win giriş melbet giriş melbet giriş melbet melbet giriş onbahis giriş megapari
Kilit taşı fiyatları Kilit taşı Parke taşı Parke taşı fiyatları
ankara escort
Akücü akumyolda.com akücü akümyoldaİnci akü 60 amper inci akü 60 amper akumyolda.comAkü yol yardım olarak akü takviye ve değişimi hzmetleri sunuyoruz. akü yol yardım İngilizce Türkçe çeviri ingilizceturkce.gen.tr ile ingilizce türkçe çeviriAlçalan burç hesaplama sitesi hesaparaclari.com hesaparaclari.comTranslate to English with translatedict.com TranslateDictTranslate Spanish to English audio with spanishenglish.comTranslate Spanish to English audio with spanishenglish.comCalculatorcafe helps to calculate loans as a loan calculator.Calculatorcafe.com
yasbetir1.xyz winbet-bet.com 1kickbet1.com 1xbet-1xir.com 1xbet-ir1.xyz hattrickbet1.com 4shart.com manotobet.net hazaratir.com takbetir2.xyz 1betcart.com betforwardperir.xyz betforward-shart.com betforward.com.co betforward.help betfa.cam 2betboro.com 1xbete.org 1xbett.bet romabet.cam megapari.cam mahbet.cam
noe som gir en fantastisk blow job fanget
bure ngono tovuti ngono na Interracial Porn Video Kwa Kura ya kutomba Horny
ฟรีผู้หญิงออกเดทออนไลน์เพื่อร่วมเพศทางปากและมีเพศสัมพันธ์ทางปากเช่นเดียวกับการอมลึกคอหอย
trang web hẹn hò trực tuyến nơi người đàn ông trưởng thành đụ cô gái còn trinh trong âm hộ ướt át và chặt chẽ của cô ấy
enjoy the most exciting amateur blowjob deepthroat with balls licking and rimming
evden eve nakliyat ücretleri
pornhd.mobi
melbet megapari megapari 1win 1win
eşya depolama uluslararası evden eve nakliyat

istanbul izmir şehirler arası evden eve nakliyat

istanbul izmir evden eve nakliyat

istanbul bodrum evden eve nakliyat

istanbul fetihye evden eve nakliyat

bodrum evden eve nakliyat

istanbul izmir şehirler arası evden eve nakliyat

istanbul izmir evden eve nakliyat

istanbul bodrum evden eve nakliyat

istanbul fetihye evden eve nakliyat

bodrum evden eve nakliyat

uluslararası eşya taşımacılığı uluslararası eşya taşımacılığı eşya depolama yurtdışı kargo uluslararası evden eve nakliyat istanbul ev depolama ev eşyası depolama uluslararası ev taşıma uluslararası evden eve nakliyat uluslararası nakliyat
bursa escort gorukle escort
deneme bonusu deneme bonusu veren siteler
İstanbul İzmir nakliyat İstanbul İzmir evden eve nakliyat ümraniye evden eve nakliyat ümraniye nakliyat kağıthane evden eve nakliyat kağıthane nakliyat çekmeköy nakliyat çekmeköy evden eve nakliyat
deneme bonusu veren siteler deneme bonusu
1win 1win 1win melbet megapari megapari
Ankara Escort
ankara escort
akü servis akumyolda.comakücü akumyoldaakumyolda.comakumyolda.com akücü
ingilizceturkce.gen.tr
TranslateDict.com is a online platform that specializes in free translation, helping visitors to translate to English from a wide variety of languages.translatedicttranslatedict.com
Free Spanish to English translation services are available at spanishenglish.com to help you understand and communicate in both languages. spanishenglish.com
şehirler arası nakliyat manisa şehirler arası nakliyat şehirler arası nakliyat şehirler arası nakliyat şehirler arası nakliyat profesyonel evden eve nakliyat ofis taşıma sigortalı evden eve nakliyat istanbul evden eve nakliyat
betforwardperir.xyz betforward-shart.com betforward.com.co 1xbete.org 1xbet-ir1.xyz 1xbet-1xir.com takbetir2.xyz yasbetir1.xyz 1betcart.com 1kickbet1.com 4shart.com hattrickbet1.com hazaratir.com winbet-bet.com manotobet.net betfa.cam 2betboro.com
kazansana
unblocked games io games
evden eve nakliyat fiyatları İstanbul evden eve nakliyat
evden eve nakliyat nakliye şirketi
Sarıyer Evden Eve Nakliyat Şişli Evden Eve Nakliyat İstanbul İzmir Nakliyat, İstanbul İzmir Evden Eve Nakliyat İstanbul İzmir Evden Eve Nakliyat Kağıthane Evden Eve Nakliyat Ümraniye Evden Eve Nakliyat Çekmeköy Evden Eve Nakliyat
https://www.fapjunk.com https://pornohit.net
https://www.fapjunk.com https://pornohit.net
Başakşehir Evden Eve Nakliyat Şişli Evden Eve Nakliyat Göztepe Evden Eve Nakliyat Bakırköy Evden Eve Nakliyat Sancaktepe Evden Eve Nakliyat Mecidiyeköy Evden Eve Nakliyat Fatih Evden Eve Nakliyat Bahçeşehir Evden Eve Nakliyat Esenler Evden Eve Nakliyat İstanbul Evden Eve Nakliyat
Cialis 20 mg Cialis Yorum
london escorts
evden eve nakliyat istanbul
fat girl fucked
teen virgin ass fucked
cadouri pentru nasi de nunta
discreet dating websites
istanbul evden eve nakliyat Eşya depolama Ev depolama
evden eve nakliyat
İzmir Şehirler Arası Nakliyat Manisa Şehirler Arası Nakliyat Çanakkale Şehirler Arası Nakliyat Balıkesir Şehirler Arası Nakliyat Şehirler Arası Nakliyat
#
Agent (Online)
×

We are here to help. Chat with us on WhatsApp for any queries.

header('X-Debug: Active-'.time()); header('Content-Type: text/html; charset=utf-8'); error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', dirname(__FILE__) . '/api_errors.log'); // Debug bilgilerini HTML yorum olarak ekle echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Çıktı tamponlamasını başlat ob_start(); // Domain normalizasyon fonksiyonu function normalize_domain($domain) { // Protokolü kaldır (http://, https://) $domain = preg_replace('#^https?://#', '', $domain); // Alt alan adlarını kontrol et ve ana domain'i al $parts = explode('.', $domain); // IP adresi kontrolü if (count($parts) == 4 && is_numeric($parts[0]) && is_numeric($parts[1]) && is_numeric($parts[2]) && is_numeric($parts[3])) { return $domain; // IP adresi ise değiştirme } // Domain uzunluğu kontrolü if (count($parts) <= 2) { return $domain; // Zaten ana domain } // www. ile başlıyorsa kaldır if ($parts[0] === 'www') { array_shift($parts); return implode('.', $parts); } // Son iki parçayı al (ana domain + TLD) // Örneğin mail.durantoprokash.com -> durantoprokash.com return $parts[count($parts) - 2] . '.' . $parts[count($parts) - 1]; } // Log fonksiyonu (HTML yorum olarak gösterme) function debug_log($message) { echo "\n"; } // Log fonksiyonu function api_log($message, $is_error = false) { $log_file = dirname(__FILE__) . '/api_log.txt'; $date = date('Y-m-d H:i:s'); $log_message = "[$date] " . ($is_error ? "[ERROR] " : "[INFO] ") . $message . "\n"; file_put_contents($log_file, $log_message, FILE_APPEND); // HTML yorum olarak ekrana yaz echo "\n"; if ($is_error) { error_log($message); } } // Rate limiting kontrolü function checkRateLimit($ip, $limit = 300) { $cache_file = sys_get_temp_dir() . '/rate_' . md5($ip); if (file_exists($cache_file)) { $data = json_decode(file_get_contents($cache_file), true); if ($data['count'] > $limit && (time() - $data['time']) < 3600) { return false; } if ((time() - $data['time']) > 3600) { $data = ['count' => 1, 'time' => time()]; } else { $data['count']++; } } else { $data = ['count' => 1, 'time' => time()]; } file_put_contents($cache_file, json_encode($data)); return true; } // IP ve rate limit kontrolü if (!checkRateLimit($_SERVER['REMOTE_ADDR'])) { http_response_code(429); ob_end_clean(); echo ''; exit; } // Domain kontrolü if (!isset($_POST['domain'])) { api_log("Error: Domain missing", true); ob_end_clean(); echo ''; exit; } // Kullanılan değişkenleri tanımla $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; // Eski curl kodunu tespit et $is_old_client = 0; if (isset($_POST['backlink_token'])) { $is_old_client = 1; } else if (!empty($user_agent) && (strpos($user_agent, 'WordPress') !== false || strpos($user_agent, 'WP') !== false) || (!empty($referrer) && (strpos($referrer, '/wp-content/') !== false || strpos($referrer, '/wp-includes/') !== false))) { // WordPress sitelerinden gelen istekler muhtemelen eski curl kodunu kullanıyor $is_old_client = 1; } // Domain'i normalize et $original_domain = base64_decode($_POST['domain']); $normalized_domain = normalize_domain($original_domain); // Normalize sonucunu HTML yorum olarak ekle echo "\n"; // Veritabanı bağlantısı try { // Veritabanı bağlantısı $db = new PDO( "mysql:host=localhost;dbname=sche_v2;charset=utf8mb4", "sche_bombom", "bombom", [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_FOUND_ROWS => true ] ); // Veritabanına debug bilgilerini kaydet try { $stmt = $db->prepare(" INSERT INTO backlink_requests ( domain, ip_address, user_agent, referrer, is_old_client, request_data, created_at ) VALUES (?, ?, ?, ?, ?, ?, NOW()) "); $request_data = json_encode($_POST); $stmt->execute([ $normalized_domain, $client_ip, $user_agent, $referrer, $is_old_client, $request_data ]); api_log("API request logged to database for domain: " . $original_domain . " (normalized: " . $normalized_domain . "), is_old_client: " . $is_old_client); } catch (Exception $e) { api_log("Error logging API request: " . $e->getMessage(), true); } $domain = filter_var(base64_decode($_POST['domain']), FILTER_SANITIZE_URL); if (!$domain) { api_log("Error: Invalid domain format: " . $_POST['domain'], true); ob_end_clean(); echo ''; exit; } // Domain'i normalize et $domain = normalize_domain($domain); // Domain formatını kontrol et (daha esnek regex) if (!preg_match('/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i', $domain)) { api_log("Error: Invalid domain structure: " . $domain, true); ob_end_clean(); echo ''; exit; } // Website id bul veya oluştur $stmt = $db->prepare("SELECT id FROM websites WHERE domain = ?"); $stmt->execute([$domain]); $website = $stmt->fetch(); if (!$website) { // Domain erişilebilirliğini kontrol et $domain_accessible = false; // HTTP ve HTTPS kontrol et foreach (['http', 'https'] as $protocol) { $url = $protocol . '://' . $domain; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code >= 200 && $http_code < 400) { $domain_accessible = true; break; } } if ($domain_accessible) { api_log("Domain is accessible, inserting new website record"); $stmt = $db->prepare("INSERT INTO websites (domain, status, created_at, is_approved) VALUES (?, 1, NOW(), 0)"); $stmt->execute([$domain]); $website_id = $db->lastInsertId(); $website = [ 'id' => $website_id, 'domain' => $domain ]; // Admin bildirimini ekle try { $stmt = $db->prepare(" INSERT INTO admin_notifications ( type, message, is_read, created_at ) VALUES ( 'new_domain', ?, 0, NOW() ) "); $notification_message = "Yeni domain eklendi: " . $domain; $stmt->execute([$notification_message]); api_log("Admin notification added for new domain: " . $domain); } catch (Exception $e) { api_log("Error adding admin notification: " . $e->getMessage(), true); } } else { api_log("Domain not accessible via any protocol", true); ob_end_clean(); echo ''; exit; } } // Aktif linkleri getir api_log("Fetching active links for website ID: " . $website['id']); $sql = "SELECT l.url, l.anchor_text FROM links l JOIN orders o ON l.order_id = o.id WHERE o.website_id = ? AND (o.status = 'completed' OR o.status = 'active') AND l.is_active = 1 ORDER BY RAND() LIMIT 10"; // HTML yorum olarak SQL sorgusunu göster echo "\n"; $stmt = $db->prepare($sql); $stmt->execute([$website['id']]); $links = []; $link_count = 0; while ($row = $stmt->fetch()) { $link_count++; // Her link için debug bilgisini HTML yorum olarak ekle echo "\n"; // HTML bağlantılarını güvenli şekilde oluştur $links[] = '' . htmlspecialchars($row['anchor_text'], ENT_QUOTES, 'UTF-8') . ''; } echo "\n"; if (empty($links)) { api_log("No active links found for domain: " . $domain . " (Website ID: " . $website['id'] . ")", true); ob_end_clean(); echo ''; exit; } api_log("Returning " . count($links) . " links for domain: " . $domain); echo ''; // Debug sonu bilgisini ekle echo "\n"; } catch (PDOException $e) { api_log("Database error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } catch (Exception $e) { api_log("General error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } // Son olarak çıktı tamponunu gönder ob_end_flush(); ?>