Introduzione all'indirizzo IP

Per imparare "Ottieni indirizzo IP in PHP", per prima cosa studieremo l'indirizzo IP. Un indirizzo IP o un indirizzo Internet Protocol è un indirizzo che è un indirizzo numerico o un'etichetta che ha ogni sistema o dispositivo connesso a una rete. L'indirizzo IP è assegnato a ciascun dispositivo. Questi dispositivi utilizzano il protocollo Internet per qualsiasi tipo di comunicazione.

Versione IP

Sotto i punti Spiega la versione IP:

  • Una versione IP è definita in base al bit dell'etichetta del protocollo Internet. Ad esempio, IPv4, che è una versione precedente, definisce un indirizzo di protocollo Internet con numero a 32 bit. Con la crescita di Internet, nasce IPv6 che definisce un'etichetta IP con numero a 128 bit. IPv6 è in uso dal 1995 ad oggi. L'indirizzo del protocollo Internet è scritto in un linguaggio comprensibile all'uomo. Un esempio di IPv4 è il seguente, 170.17.260.2 e un esempio per IPv6 è il 2001: db8: 2: 1434: 1: 587: 5: 2.
  • Lo spazio acquisito dagli indirizzi del protocollo Internet è gestito a livello globale. Un registro chiamato Internet Assigned Numbers Authority insieme agli altri cinque registri regionali rende possibile la gestione dello spazio per gli indirizzi dei protocolli Internet. Lo IANA è responsabile dell'assegnazione e della gestione degli spazi degli indirizzi dei protocolli Internet a tutti gli utenti finali e agli altri provider Internet nelle aree o territori designati. Allo stesso modo, a tutti i dispositivi collegati a una rete di provider di servizi Internet viene assegnato un indirizzo di protocollo Internet univoco.
  • Esistono indirizzi di protocollo Internet statici che non cambiano spesso, vengono forniti ai server. I provider di servizi Internet forniscono un indirizzo di protocollo Internet specifico e unico a una macchina che utilizza un modem. Tale indirizzo IP è univoco per una sessione e potrebbe cambiare per la sessione successiva.

Identificazione e restituzione dell'indirizzo IP in PHP

Per motivi di sicurezza, i siti raccolgono gli indirizzi IP dei visitatori dei loro siti. C'è un modo semplice per ottenere questo indirizzo in PHP. C'è un array specifico in PHP che aiuta e restituisce l'indirizzo IP del tuo computer. Un array è noto come "$ _SERVER". Contiene informazioni su percorsi, intestazioni e posizioni degli script. Il server Web crea le informazioni richieste per l'array $ _SERVER. A volte ciò il server non crea o fornisce tutte le informazioni richieste dall'array, ma potrebbe ometterne alcune. Quindi esiste un altro array che può essere usato in questi casi. È scritto come "SERVER_ADDR". Questo array restituisce l'indirizzo IP del server con cui è in esecuzione lo script.

Metodi Utilizzare per ottenere l'indirizzo IP in PHP

Di seguito è riportato l'esempio utilizzato per ottenere un indirizzo IP in php:

Esempi n. 1

Il modo più semplice è usare $ _SERVER con 'REMOTE_ADDR', restituirà l'indirizzo IP dell'utente che sta attualmente visualizzando la pagina.

  • Esempio di utilizzo ('REMOTE_ADDR') per identificare l'indirizzo IP del server in PHP.

Codice:

<_?php
echo 'User IP - '.$_SERVER('REMOTE_ADDR');
?>

Produzione:

Esempio n. 2

Un altro metodo, chiamato "SERVER_ADDR", utilizzato anche per recuperare l'indirizzo IP del server.

  • Esempio usando ('SERVER_ADDR') per identificare l'indirizzo IP del server in PHP.

Codice:

<_?php
// PHP program to retrieve server's Internet Protocol address
// Creating a variable to store the server address
$ip_server = $_SERVER('SERVER_ADDR');
// Displaying the retrieved address
echo "Server IP Address is: $ip_server";
?>

Produzione:

Spiegazione del programma precedente: l'array di esempio sopra ($ _SERVER) è utile se la macchina non è collegata tramite proxy. Se la macchina è connessa a Internet tramite o tramite il server proxy, $ _SERVER ('REMOTE_ADDR') in PHP non restituisce l'indirizzo IP corretto. Restituisce semplicemente l'indirizzo IP del server proxy e della macchina dell'utente o del client. In questa situazione, viene utilizzato un altro metodo per recuperare l'indirizzo corretto.

Esempio n. 3

L'esempio seguente viene utilizzato per restituire l'indirizzo IP corretto e reale anche se la macchina si nasconde dietro un server proxy. Utilizza una coppia aggiuntiva di variabili SERVER disponibili per ottenere l'indirizzo IP esatto del sistema o della macchina del client. Sono conosciuti come HTTP_CLIENT_IP e HTTP_X_FORWARDED_FOR.

  • Esempio usando ('HTTP_CLIENT_IP') e ('HTTP_X_FORWARDED_FOR') per identificare l'indirizzo IP del server in PHP.

Codice:

<_?php
function RetrieveUserIP()
(
if(!empty($_SERVER('HTTP_CLIENT_IP')))
(
$address=$_SERVER('HTTP_CLIENT_IP');
)
elseif(!empty($_SERVER('HTTP_X_FORWARDED_FOR')))
(
$address=$_SERVER('HTTP_X_FORWARDED_FOR');
)
else
(
$address=$_SERVER('REMOTE_ADDR');
)
return $address;
)
echo 'User IP Address is'.RetrieveUserIP();
?>

Produzione:

Se si vuole capire il flusso di azioni del codice sopra, si può fare riferimento al seguente diagramma di flusso per lo stesso.

Spiegazione del programma precedente: L'esempio precedente per recuperare l'indirizzo IP utilizza due variabili, ('HTTP_CLIENT_IP') e ('HTTP_X_FORWARDED_FOR'). Nel programma, facciamo il nostro primo tentativo di scaricarlo direttamente dalla macchina utilizzando HTTP_CLIENT_IP. Se ciò non è disponibile, proviamo l'IP "inoltrato" utilizzando HTTP_X_FORWARDD_FOR. Quando entrambe le condizioni diventano nulle, proviamo a ottenere l'indirizzo IP utilizzando la variabile REMOTE_ADDR.

Punti da ricordare

Di seguito i punti devono essere ricordati in Ottenere un indirizzo IP in php:

1. Che quando abbiamo eseguito il codice sopra, l'indirizzo IP restituito viene visualizzato come :: 1. Questo è noto come indirizzo di loopback che in realtà è rappresentato come 127 volte zero seguito da un 1 che è (0000…. 127 volte… .1). Se dobbiamo scriverlo, sarà scritto come:

2. Ma in IPv6, possiamo rappresentare questa grande etichetta in una forma breve. Quindi, se ci sono tutti gli zero in un singolo blocco, può essere sostituito con un singolo zero. Quindi, quando viene seguita la regola sopra, diventa: 0: 0: 0: 0: 0: 0: 0: 0001;

3. Ancora una volta, gli zeri possono essere eliminati e ci rimane :: 0001

4. Che di nuovo viene ridotto a ' :: 1 ', quindi l'output.

Spiegazione del codice sopra: Se vengono fatti funzionare, potrebbero non fornire alcun output o potrebbero restituire un errore di runtime poiché i domini privati ​​non forniscono i loro indirizzi di protocollo Internet. Mentre se i codici di cui sopra vengono eseguiti su un server locale o un host locale, come abbiamo usato un server WAMP, fornirà un output in base alla versione IP, ovvero, se si tratta di un IPv4, l'indirizzo del protocollo Internet sarà visualizzato come '127: 0: 0: 1' mentre se si tratta di un IPv6, l'indirizzo del protocollo Internet verrà visualizzato come sopra, che, ':: 1'

Articoli consigliati

Questa è una guida per ottenere l'indirizzo IP in PHP. Qui discutiamo dell'identificazione dell'indirizzo IP, dei metodi nell'indirizzo IP e dei punti da ricordare nell'indirizzo IP. Puoi anche consultare i nostri altri articoli correlati per saperne di più -

  1. Connessione al database PHP
  2. Che cos'è TCP / IP?
  3. Programmazione socket in PHP
  4. Palindrome in PHP
  5. Palindrome in C ++
  6. Palindrome in JavaScript
  7. Top 12 Confronto di indirizzi Mac vs IP
  8. Programmazione socket in Python
  9. Che cos'è IPv4?

Categoria: