È possibile recuperare IP dietro NAT in PHP? Sto usando $_SERVER["REMOTE_ADDR"]
per ottenere l'indirizzo IP del client. Non sta dando l'indirizzo IP esatto del client che si trova dietro NAT.come ottenere ip dietro NAT usando php?
risposta
No, non possibile. NAT significa Network Address Translation - l'indirizzo IP dei pacchetti viene riscritto sul dispositivo NAT, quindi l'indirizzo IP pubblico è l'unico, per quanto ne sa il server.
Tuttavia, è possibile utilizzare alcuni trucchi, ad esempio il controllo dell'indirizzo IP interno mediante un'applet Java. Vedere questo: Get the correct local IP address from java applet
(Non sono sicuro di cosa avresti bisogno l'indirizzo IP interno, comunque, e nota che sono possibili NAT nidificati multipli - in modo che un computer possa essere visto ad esempio come 192.168.0.153, 10.53.0.1, 192.168.42.12 e 1.2.3.4, a seconda della topologia di rete) – Piskvor
Ho bisogno di un IP interno per tracciare i sistemi all'interno della rete. Qui usano più NAT per la rete. –
Proverà questo codice applet ... –
Non è possibile ottenere l'IP dietro un NAT utilizzando HTTP e php.
Okay ... Grazie ..... –
No. PHP vede solo l'IP esterno.
'REMOTE_ADDR' L'indirizzo IP da cui l'utente sta visualizzando la pagina corrente.
se stanno utilizzando il proxy è possibile utilizzare
$real_ip = $_SERVER['HTTP_X_FORWARDED_FOR']
in caso contrario, non è possibile
Non è possibile visualizzare l'indirizzo privato di cliente e di solito non ti importa di vedere perché non puoi accedervi. Anche se ha utilizzato un proxy, a volte puoi ottenere l'indirizzo:
$_SERVER['HTTP_X_FORWARDED_FOR']
Ok ... Ma per il rilevamento del proxy giusto? –
Perché vuoi? – Devraj