Domanda

E 'possibile rilevare se una richiesta in entrata è stato fatto attraverso un server proxy? Se un'applicazione web "vieta" gli utenti tramite l'indirizzo IP, si potrebbe aggirare questo utilizzando un server proxy. Questo è solo uno dei motivi per bloccare queste richieste. Come può essere raggiunto?

È stato utile?

Soluzione

IMHO non c'è modo affidabile al 100% per raggiungere questo obiettivo, ma la presenza di una qualsiasi delle seguenti intestazioni è una forte indicazione che la richiesta è stata indirizzata da un server proxy:

via:
forwarded:
x-forwarded-for:
client-ip: 

Si potrebbe anche cercare il proxy o Pxy nel nome di dominio del cliente.

Altri suggerimenti

Se un server proxy è configurato correttamente per evitare il rilevamento di server proxy, non sarà in grado di dire.

La maggior parte dei server proxy le intestazioni di alimentazione come altri menzionare, ma quelli che non sono presenti sul proxy lo scopo di nascondere completamente l'utente.

Sarà necessario utilizzare diversi metodi di rilevamento, come i cookies, il rilevamento di intestazione del proxy, e forse euristica IP per individuare tali situazioni. Scopri http://www.osix.net/modules/article/?id=765 alcune informazioni su questa situazione. Anche considerare l'utilizzo di una lista nera di proxy -. sono pubblicati da molte organizzazioni

Tuttavia, nulla è certo al 100%. È possibile utilizzare le tattiche di cui sopra al fine di evitare situazioni più semplici, ma alla fine della giornata è semplicemente una serie di pacchetti che formano una transazione TCP / IP, e il protocollo TCP / IP non è stato sviluppato con le idee di oggi in materia di sicurezza, autenticazione, ecc .

Ricordate che molte aziende di implementare i proxy a livello aziendale per vari motivi, e se semplicemente bloccare i proxy come regola generale si limita necessariamente il pubblico, e che non può essere sempre desiderabile. Tuttavia, queste deleghe di solito si annunciano con le intestazioni appropriate -. Si può finire per bloccare gli utenti legittimi, piuttosto che gli utenti che sono bravi a nascondere se stessi

-Adam

Ha fatto un po 'di scavo su questo dopo il mio dominio ottenuto ospitato su Google di AppSpot.com con bei annunci porno hard iniettato in esso (grazie Google).

Prendendo una foglia da questo idea .htaccess sto facendo la seguente, che sembra funzionare. Ho aggiunto una norma specifica per AppSpot che inietta un ServerVariable HTTP_X_APPENGINE_COUNTRY.

    Dim varys As New List(Of String)
    varys.Add("VIA")
    varys.Add("FORWARDED")
    varys.Add("USERAGENT_VIA")
    varys.Add("X_FORWARDED_FOR")
    varys.Add("PROXY_CONNECTION")
    varys.Add("XPROXY_CONNECTION")
    varys.Add("HTTP_PC_REMOTE_ADDR")
    varys.Add("HTTP_CLIENT_IP")
    varys.Add("HTTP_X_APPENGINE_COUNTRY")
    For Each vary As String In varys
        If Not String.IsNullOrEmpty(HttpContext.Current.Request.Headers(vary)) Then HttpContext.Current.Response.Redirect("http://www.your-real-domain.com")
    Next

È possibile cercare questi intestazioni della richiesta Oggetto e di conseguenza decidere se richiesta avviene tramite un proxy / non

1) Via 2) X-Forwarded-For

Si noti che questo non è un sicuro colpo di trucco 100%, dipende dal fatto che questi server proxy scegliere di aggiungere sopra le intestazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top