pillinetwork hesabınızla giriş yapın.

c#, vb.net ve php'de gerçek ip'yi bulma

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)

Spacer
Spacer
/* Etiketler: , , , , */
/* Sly777 yazdı. 12 Temmuz 2010 13:41. 3 yorum var */

Yorumlar

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.

/* hasan gürsoy @ |innovacube | kötü yazılmış kaynak kodlarından nefret ediyorum... */

Tesekkurler xfreestyler. Eklemeyi unutmuşum High Anony'i.

/* Maksat yazmak olsun . http://developerarea.blogspot.com */

HTTP_X_FORWARDED_FOR client tarafından yollanan bir header değil mi ? her hoşulda REMOTE_ADDR kullanmak daha mantıklı sanki ??

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

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.

pilliilan

son yorumlar

arama

pillinetwork