Skip to Content
DocumentationEdge ComputingCloudflare Workers

Cloudflare Workers

Intercettare il traffico all'edge è il modo più efficiente per proteggere la tua applicazione. Utilizzando Cloudflare Workers, puoi verificare gli indirizzi IP in ingresso rispetto a ProxyTracer prima che la richiesta tocchi i tuoi server di origine.

L'Implementazione

Questo snippet estrae l'IP reale del client utilizzando gli header nativi di Cloudflare, interroga l'API ProxyTracer e restituisce un rigoroso 403 Forbidden se viene rilevato un proxy.

export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // 1. Estrai l'IP reale (Cloudflare lo fornisce nativamente) const ip = request.headers.get("cf-connecting-ip"); // Lascia passare se non viene trovato alcun IP (es. sviluppo locale) if (!ip) { return fetch(request); } try { // 2. Interroga l'API di ProxyTracer 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. Interrompi la connessione se viene rilevato un proxy/VPN 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: se l'API non è raggiungibile, consenti il traffico per garantire l'uptime console.error("ProxyTracer API Error:", error); } // 4. Il traffico pulito prosegue verso il server di origine return fetch(request); } };

Nota di Sicurezza: Salva sempre la tua PROXYTRACER_API_KEY come Secret crittografato nella dashboard di Cloudflare Workers, mai in testo non cifrato.

Ultimo aggiornamento il