asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 5545
ASPCode.it - Store

  > > Tips

IP del visitatore: modalitÓ avanzata
di Mattia Richetto

Data di pubblicazione: 28/04/2004        Voto della community: 4,41 (Votanti: 18)

Quando un browser invia una richiesta per una pagina, invia anche alcune intestazioni allo script richiesto, quali il tipo di browser utilizzato, la o le lingue supportate e l'indirizzo IP del proprio client. Queste informazioni possono risultare particolarmente utili quando si intendano creare, ad esempio, statistiche di accesso di un sito web.
In particolare, sono disponibili due "server variables" che, da questo punto di vista, sono piuttosto interessanti: REMOTE_ADDR e HTTP_X_FORWARDED_FOR che consentono proprio di rilevare l'indirizzo IP del visitatore. Alcuni visitatori accedono per˛ ad internet attraverso "terze parti" (ad esempio tramite proxy). In questi casi la variabile del server REMOTE_ADDR non conterrÓ pi¨ il loro indirizzo IP. La variabile contenente questa informazione risulterÓ essere invece HTTP_X_FORWARDED_FOR nella quale sarÓ presente, ad esempio, l'IP del Proxy server utilizzato o, laddove esistente, l'IP del firewall a monte della DMZ di una rete locale. Se, con alcuni visitatori ci trovassimo in questa situazione, la richiesta diretta di REMOTE_ADDR genererebbe un errore 500 della pagina. Viene quindi in nostro soccorso HTTP_X_FORWARDED_FOR contenente l'indirizzo IP "fittizio" dell'utente. Quindi, per prima cosa, controlleremo il contenuto della variabile HTTP_X_FORWARDED_FOR, poi, se vuoto, controlleremo REMOTE_ADDR. Vediamo come:

<%
Dim IP
IP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP="" Then
  IP=Request.ServerVariables("REMOTE_ADDR")
End If
%>

Bisogna comunque tenere a mente che l'utente che naviga "Proxato" non recherÓ il suo indirizzo IP "reale". Il metodo sarÓ comunque molto utile per evitare di interdire alcune sezioni del sito, se non addirittura l'accesso al medesimo, laddove siano adottate (sul client) configurazioni come quelle sopra specificate.




Utenti connessi: 5545