2010-09-28 54 views

risposta

26

REMOTE_HOST appartiene al nome host del client (ad esempio, il computer che effettua la richiesta). REMOTE_ADDR fa riferimento all'indirizzo IP del client.

Ci sono volte in cui il nome host non è irrisolvibile, quindi REMOTE_HOST restituirà il REMOTE_ADDR o l'indirizzo IP.

+0

Voglio dire che è possibile vedere risultati imprevisti se ci sono server proxy nel mezzo. – dotfreelancer

+17

Questa risposta è sbagliata o, nel migliore dei casi, fuorviante. REMOTE_HOST è il nome host del * client *, cioè il computer che effettua la richiesta, non il server. REMOTE_ADDR è l'indirizzo IP del client. (fonti: http://php.net/manual/en/reserved.variables.server.php, http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx) – mhenry1384

+2

@Ruel Potresti correggere la tua risposta? Stai descrivendo 'SERVER_ADDR' e' HTTP_HOST' per quanto posso dire. – Sumurai8

2

1. $_SERVER['REMOTE_ADDR'] - Questo contiene l'indirizzo IP reale del cliente. Questo è il valore più affidabile che puoi trovare dall'utente.

2. $_SERVER['REMOTE_HOST'] - Questo preleverà il nome host da cui l'utente sta visualizzando la pagina corrente. Ma per far funzionare questo script, è necessario configurare Cerca nome host all'interno di httpd.conf.