Il difetto è ovvio: chiunque lavori da una lan potrebbe avere grossi problemi.
Tanto per cominciare, non tutti i proxy mostrano l'indirizzo interno delle richieste in arrivo da una LAN.
Se l'indirizzo interno non viene mostrato, avrai un sistema a cui non possono collegarsi due utenti che provengono dalla stessa LAN.
Se invece l'indirizzo viene mostrato, si creano possibili casi di indirizzo duplicato, visto che gli indirizzi di LAN non sono univoci all'esterno della LAN stessa. E queste possibili duplicazioni diventano molto probabili nel caso di piccole reti, che in genere usano indirizzi del tipo 192.168.0.*
Se invece le reti sono grandi può essere che usino non uno ma più proxy, con la conseguenza che lo stesso utente potrebbe presentare indirizzi IP diversi (nel caso non venga mostrato quello interno) durante una sessione, con conseguente perdita del login.
Certo, tutti questi problemi sparirebbero nel caso in cui l'applicazione giri internamente ad una LAN. Ma sarebbe comunque una limitazione.
E poi un'applicazione, in quanto tale, ben difficilmente non avrà bisogno di memorizzare dati di vario genere relativi a ciascun utente collegato. Il che significa che le sessioni andranno utilizzate comunque.
Ma poi, perché non volere usare le sessioni?![]()
Un'ultima cosa: la funzione realip(), per come l'hai scritta, non restituirà mai l'indirizzo interno della LAN, visto che l'ultima istruzione lo sovrascrive con l'indirizzo internet.


Rispondi quotando