← nitronium.dev

Rate limiting'de X-Forwarded-For güvenilmez

2026-06-04
X-Forwarded-For header'ı istemci tarafından serbestçe set edilebilir. Her istekte farklı bir IP göndererek dosya tabanlı rate limiter'ı kolayca bypass etmek mümkün.

`php
// Yanlış
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'];

// Doğru (Cloudflare varsa)
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['REMOTE_ADDR'];

// Proxy yoksa direkt
$ip = $_SERVER['REMOTE_ADDR'];
`

Güvenilir proxy (Cloudflare, nginx) olmadan REMOTE_ADDR dışına çıkma.