$_SERVER['REMOTE_ADDR']
è l'indirizzo IP su cui è arrivata la connessione TCP. Sebbene sia tecnicamente possibile falsificare in modo bidirezionale gli indirizzi IP su Internet (annunciando percorsi errati tramite BGP), è probabile che tali attacchi vengano individuati e non disponibili per l'attaccante tipico: in pratica, l'attaccante deve avere il controllo su un ISP o un operatore. Non ci sono (ancora) attacchi di spoofing unidirezionali fattibili contro TCP. Tuttavia, lo spoofing IP bidirezionale è banale su una LAN.
Tieni inoltre presente che potrebbe non essere un indirizzo IPv4, ma un indirizzo IPv6. Il tuo controllo attuale va bene a questo proposito, ma se controlli che 1.2.3.4
si verifica solo ovunque all'interno $_SERVER['REMOTE_ADDR']
, un attaccante potrebbe semplicemente connettersi da 2001:1234:5678::1.2.3.4
.
Riassumendo, per qualsiasi cosa diversa dalle applicazioni critiche (banche / militari / danni potenziali> 50.000 €), puoi utilizzare l'indirizzo IP remoto se puoi escludere gli aggressori nella tua rete locale.