Skip to Content
DocumentationEdge BilişimCloudflare Workers

Cloudflare Workers

Trafiği uçta (edge) durdurmak, ProxyTracer'ı kullanmanın en verimli yoludur. Bu middleware'i bir Cloudflare Worker içinde çalıştırarak, kötü amaçlı istekler kaynak sunucunuzun kaynaklarını tüketmeden önce doğrudan CDN düzeyinde engellenir.

Uygulama

Bu kod parçası, Cloudflare'in yerel başlıklarını kullanarak gerçek istemci IP'sini çıkarır, ProxyTracer API'sini sorgular ve bir proxy algılanırsa kesin bir 403 Forbidden döndürür.

export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // 1. Gerçek IP'yi çıkarın (Cloudflare bunu yerel olarak sağlar) const ip = request.headers.get("cf-connecting-ip"); // IP bulunamazsa doğrudan geçirin (örn. yerel geliştirme) if (!ip) { return fetch(request); } try { // 2. ProxyTracer API'sini sorgulayın const ptResponse = await fetch(`https://api.proxytracer.com/v1/check/${ip}`, { method: "GET", headers: { "Authorization": `Bearer ${env.PROXYTRACER_API_KEY}` } }); if (ptResponse.ok) { const data = await ptResponse.json(); // 3. Proxy/VPN tespit edilirse bağlantıyı kesin if (data.proxy === true) { return new Response( JSON.stringify({ error: "Access Denied: VPN or Proxy detected." }), { status: 403, headers: { "Content-Type": "application/json" } } ); } } } catch (error) { // Fail open: API'ye ulaşılamıyorsa çalışma süresini korumak için trafiğe izin verin console.error("ProxyTracer API Error:", error); } // 4. Temiz trafik kaynak sunucunuza iletilir return fetch(request); } };

Güvenlik Notu: PROXYTRACER_API_KEY değerinizi Cloudflare Worker kontrol panelinizde her zaman şifrelenmiş bir Secret (gizli değişken) olarak saklayın, asla düz metin (plaintext) olarak bırakmayın.

Son güncelleme tarihi