Czy można wykryć, czy żądanie przychodzące jest realizowane przez serwer proxy? Jeśli aplikacja internetowa "zabrania" użytkowników za pośrednictwem adresu IP, może ominąć to za pomocą serwera proxy. To tylko jeden z powodów blokowania tych żądań. Jak można to osiągnąć?Jak sprawdzić, czy Żądanie pochodzi z serwera proxy?
Odpowiedz
IMHO nie ma 100% niezawodny sposób, aby osiągnąć ten cel, ale obecność któregokolwiek z następujących nagłówków jest silne wskazanie, że wniosek został poprowadzony z serwera proxy:
via:
forwarded:
x-forwarded-for:
client-ip:
Można też poszukaj proxy lub poksy w nazwie domeny klienta.
można szukać tych nagłówków w żądaniu obiektu i odpowiednio zdecydować, czy żądanie jest przez pełnomocnika/nie
1) Via 2) X-Przekazano-For
zauważyć, że nie jest to 100% pewności strzelonego triku, zależy od tego, czy te serwery proxy zdecydują się na dodanie powyższych nagłówków.
Jeśli serwer proxy jest skonfigurowany prawidłowo, aby uniknąć wykrycia serwerów proxy, nie będzie można powiedzieć.
Większość serwerów proxy podaje nagłówki, o czym inni wspominają, ale nie są one obecne w serwerach proxy służących do całkowitego ukrycia użytkownika.
Aby wykryć takie sytuacje, należy zastosować kilka metod wykrywania, takich jak pliki cookie, wykrywanie nagłówków serwerów proxy oraz heurystyki IP. Sprawdź numer http://www.osix.net/modules/article/?id=765, aby uzyskać informacje na temat tej sytuacji. Rozważ także użycie czarnej listy proxy - są one publikowane przez wiele organizacji.
Jednak nic nie jest w 100% pewne. Możesz zastosować powyższe taktyki, aby uniknąć najprostszych sytuacji, ale na koniec dnia to tylko seria pakietów tworzących transakcję TCP/IP, a protokół TCP/IP nie został opracowany przy dzisiejszych pomysłach dotyczących bezpieczeństwa, uwierzytelniania itp.
Należy pamiętać, że wiele korporacji wdraża szerokie proxy firmy z różnych powodów, a jeśli po prostu blokuje się serwer proxy, to z zasady ograniczasz liczbę odbiorców, co nie zawsze jest pożądane. Jednak te serwery proxy zwykle ogłaszają się za pomocą odpowiednich nagłówków - możesz ostatecznie zablokować wiarygodnych użytkowników, a nie użytkowników, którzy dobrze się ukrywają.
-Adam
Czy trochę kopanie w tej sprawie po moja domena ale odbyło się na Google AppSpot.com z ładnymi zapalonych reklamy porno wstrzyknięto do niego (dzięki Google).
Biorąc liść z tego htaccess idea Robię co następuje, co wydaje się działać. Dodałem konkretną regułę dla AppSpot, która wstrzykuje serwerową zmienną 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