Bir proxy sunucusu üzerinden gelen bir isteğin yapılıp yapılmadığını tespit etmek mümkün mü? Bir web uygulaması, kullanıcıları IP adresi aracılığıyla "yasaklarsa", bir proxy sunucu kullanarak bunu geçebilir. Bu istekleri engellemek için tek sebep. Bu nasıl başarılabilir?Bir İsteğin bir Proxy'den gelip gelmediğini nasıl anlarsınız?
cevap
IMHO bunu başarmak için hiçbir% 100 güvenilir bir yolu vardır ancak aşağıdaki başlıklardan herhangi biri varlığı isteği bir proxy sunucusundan yönlendirilen olduğu güçlü göstergesidir:
via:
forwarded:
x-forwarded-for:
client-ip:
Ayrıca aramaya olabilir İstemci etki alanı adına proxy veya pxy.
Sen isteği nesne bu başlıklar için bakmak ve buna göre istek bir proxy üzerinden olup olmadığına karar verebilir/değil
1) 2 Via) bu bir X-Forwarded-For
not olmadığını % 100 emin atış hilesi, bu vekil sunucuların üstbilgileri ekleyip eklemeyeceğine bağlıdır.
Vekil sunucuların algılanmasını önlemek için bir proxy sunucusu düzgün şekilde ayarlandıysa, söyleyemeyeceksiniz.
Çoğu proxy sunucusu, başlıkların diğerlerini de belirttiği gibi sağlar, ancak bunlar kullanıcıyı tamamen gizlemek için kullanılan proxy'lerde yoktur.
Çerezler, proxy başlık algılaması ve bu tür durumları algılamak için IP sezgisel tarama gibi çeşitli algılama yöntemlerini kullanmanız gerekir. Bu durum hakkında bazı bilgiler için http://www.osix.net/modules/article/?id=765'a bakın. Ayrıca bir proxy kara listesini kullanmayı düşünün - bunlar birçok kuruluş tarafından yayınlanmaktadır. Bununla birlikte, hiçbir şey% 100 kesin değildir. En basit durumlardan kaçınmak için yukarıdaki taktikleri kullanabilirsiniz, ancak günün sonunda sadece bir TCP/IP işlemi oluşturan paketler dizisidir ve TCP/IP protokolü günümüzün güvenlik, kimlik doğrulama, vb. Birçok şirketin çeşitli nedenlerden dolayı şirket çapında proxy'leri dağıttığını ve proxy'leri genel bir kural olarak engellediyseniz, izleyicilerinizi mutlaka sınırlandırdığını ve bu her zaman arzu edilmeyebileceğini unutmayın. Ancak, bu vekiller genellikle uygun başlıklarla kendilerini duyururlar - kendilerini saklamakta iyi olan kullanıcılardan ziyade meşru kullanıcıları engellemekle sonuçlanabilir. -Adam
alanım Google'ın AppSpot.com o (teşekkürler Google) enjekte güzel hardcore porno reklamlarıyla üzerinde barındırılan uğradıktan sonra bu konuda kazma biraz yaptım.
Bundan bir yaprak çekiyorum htaccess idea Aşağıdakileri yapıyorum, çalışıyor gibi görünüyor. Bir HTTP_X_APPENGINE_COUNTRY Sunucu Değişkeni enjekte eden AppSpot için belirli bir kural ekledim.
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. Ekspres bir alt alandan gelip gelmediğini algıla?
- 2. JSP/Servlet HTTP isteğinin bir ajax isteğinden gelip gelmediğini belirleme
- 3. Gerekli bir modülün bir gemiden gelip gelmediğini veya çekirdek modül olup olmadığını nasıl belirlerim?
- 4. Geri gezinme nedeniyle etkinliğin ön tarafa gelip gelmediğini belirleyin
- 5. İki türün aynı tempold sınıfından gelip gelmediğini kontrol etme
- 6. Bir listenin bir öğe içermediğini nasıl anlarsınız?
- 7. gelip nasıl Linq fonksiyonları
- 8. İsteğin URL'sini nasıl alabilirim?
- 9. Bir Flask isteğinin url'sinin farklı bölümlerini nasıl alabilirim?
- 10. Bir akımın kapalı olup olmadığını nasıl anlarsınız?
- 11. Bir programın çalıştırılmasını bir sinyal ile sonlandırıp sonlandırılmadığını nasıl anlarsınız?
- 12. Bir UITwitch'in bir UITableViewCell içine ne zaman eklendiğini nasıl anlarsınız?
- 13. Bir komut dosyasının bir tty'de çalışıp çalışmadığını nasıl anlarsınız?
- 14. Bir Türün statik bir sınıf olup olmadığını nasıl anlarsınız?
- 15. Bir dosya bir bağlantı olup olmadığını nasıl anlarsınız?
- 16. İsteğin orijinal boyutu için bir sütun nasıl eklenir?
- 17. Raylar, isteğin AJAX
- 18. Spring-MVC 3.1: Bir Denetleyici İşlevinden Bir İsteğin İletilmesi
- 19. Bir dropwizard hizmetine gönderilen bir isteğin gövdesini okuyun
- 20. Bir yapılandırma dosyası nasıl oluşturulur ve Gunicorn'u kullanmayı nasıl anlarsınız?
- 21. Bu isteğin DİNLENME versiyonu
- 22. Mvc'de isteğin doğrulanıp onaylanmadığını nasıl kontrol edebilirim?
- 23. AudioTrack - bir sesin ne zaman başlayacağını/bittiğini nasıl anlarsınız?
- 24. Bir dosyanın iCloud'da ne zaman değiştiğini nasıl anlarsınız?
- 25. Python - Bir modülün özel yükleyici tarafından yüklendiğini nasıl anlarsınız?
- 26. Bir html öğesinin alt düğümleri ekleyip ekleyemediğini nasıl anlarsınız?
- 27. PhpStorm'daki bir dosyada kaydedilmemiş değişiklikler olup olmadığını nasıl anlarsınız?
- 28. Bir .woff yazı tipinin ima ettiğini nasıl anlarsınız?
- 29. PHP: Bir dizenin özel karakterler içerip içermediğini nasıl anlarsınız?
- 30. Hata durumunda bir toplu iş programından nasıl çıkılır?