Bazı zamanlarda kullanıcının ip'sini öğrenmemiz gerekebilir. Çok basit şekilde;
Request.ServerVariables("REMOTE_ADDR")
bu kodu kullanırız. Ancak bazı durumlar olur ki kullanıcı proxy vb. değiştirmelerle gerçek ip'sini farklı gösterebilir. Böyle bir durumda;
--------------------
VB.NET için;
Dim _ip As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If (_ip = "" Or _ip.ToLower = "unknown") Then _ _ip = Request.ServerVariables("REMOTE_ADDR")
--------------------
C# için;
String _ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
If (_ip "" || _ip.ToLower "unknown") _ip = Request.ServerVariables["REMOTE_ADDR"];
--------------------
PHP için ise;
function GetUserIP() {
if (isset($_SERVER)) { }
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) return $_SERVER["HTTP_X_FORWARDED_FOR"];
if (isset($_SERVER["HTTP_CLIENT_IP"])) return $_SERVER["HTTP_CLIENT_IP"];
return $_SERVER["REMOTE_ADDR"];
if (getenv('HTTP_X_FORWARDED_FOR')) return getenv('HTTP_X_FORWARDED_FOR');
if (getenv('HTTP_CLIENT_IP')) return getenv('HTTP_CLIENT_IP');
return getenv('REMOTE_ADDR');
}
--------------------
Kodlarını kullanabilirsiniz. Bunu da geçme şansı var mı derseniz tabii ki var ama en azından bazı kullanıcıları temizlemiş olursunuz.
Not: High anonymous proxy kullananlarda gerçek ip görünmez. (Hatırlatma için xfreestyler'a teşekkürler)
Ben c# asp.net'te bu kodu kullanırım:
public static string GetIPAddress() { string sIPAddress = null; sIPAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(sIPAddress)) { sIPAddress = Request.ServerVariables["REMOTE_ADDR"]; } return sIPAddress; }
Not: High anonymous proxy kullananlarda gerçek ip görünmez.
Tesekkurler xfreestyler. Eklemeyi unutmuşum High Anony'i.
HTTP_X_FORWARDED_FOR client tarafından yollanan bir header değil mi ? her hoşulda REMOTE_ADDR kullanmak daha mantıklı sanki ??
pillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.
Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.