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
- 1. Sprawdź, czy żądanie http pochodzi z mojej aplikacji na Androida
- 2. Jak zapisywać żądanie podawania serwera reverse proxy w protokole Nginx?
- 3. Jak sprawdzić, czy zdarzenie pochodzi z prawego klawisza Ctrl?
- 4. Jak sprawdzić, czy klasa B pochodzi z rodziny szablonów klas
- 5. Jak sprawdzić, czy NSURLResponse pochodzi z pamięci podręcznej?
- 6. Wyraźne wykrycie, jeśli żądanie pochodzi z poddomeny?
- 7. Jak sprawdzić, czy IP jest publicznym proxy?
- 8. Jak sprawdzić, czy obiekt jest proxy?
- 9. Sprawdź, czy połączenie IPN pochodzi z systemu PayPal?
- 10. Jak uzyskać domenę, z której pochodzi żądanie w pliku express.js?
- 11. Korzystanie z serwera proxy publiczną klienta HTTP
- 12. Jak usunąć żądanie scalenia z serwera GitLab
- 13. PHP - jak najlepiej określić, czy bieżące wywołanie pochodzi z interfejsu CLI czy z serwera WWW?
- 14. Jak sprawdzić, czy WebRTC używa serwera przekazującego?
- 15. Konfigurowanie serwera proxy Apache z uwierzytelnianiem
- 16. węzła proxy - Proxy cel localhost SSL z podstawowego serwera http
- 17. Używanie CPAN z błędem serwera proxy po conf init/proxy/
- 18. Nie można zainicjować serwera proxy - nie Session
- 19. JSP/Servlet Jak rozpoznać, czy żądanie HTTP pochodzi z żądania ajaxowego?
- 20. Jak mogę sprawdzić, czy obraz zwrócony z didFinishPickingMediaWithInfo pochodzi z aparatu lub albumu fotograficznego?
- 21. Sprawdź, czy odpowiedź sieciowa pochodzi z serwera lub pamięci podręcznej Chrome
- 22. Jak sprawić, aby HttpURLConnection używał serwera proxy?
- 23. Jak mogę powiedzieć tłumaczowi R jak korzystać z serwera proxy?
- 24. żądanie stronicowania w aplecie, jak sprawdzić, czy jest inna strona?
- 25. Globalne ustawienia serwera proxy Node.js
- 26. Jak sprawdzić, czy moja strona jest skrobana?
- 27. Jak sprawdzić, czy żądanie/odpowiedź jest dostępne w Application_Error?
- 28. Co zrobić z dodatkowym nagłówkiem HTTP z serwera proxy?
- 29. CUICatalog: Niepoprawne żądanie: żądanie podtypu bez określenia idiomu (skąd pochodzi i jak go naprawić?)
- 30. Jak połączyć się z serwerem SQL za pośrednictwem serwera proxy