none
Kullanıcı Ip Öğrenme RRS feed

  • Soru

  • Merhaba,uzun bir aramadan sonra çözüm bulamadığım bir kod için buraya yazıyorum.siteme giren kullanıcının Ip adresini öğrenmek istiyorum.sayfa yenilemeyi önlemek için.internette gezdiğim sitelerin çoğunda ;

      String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                 String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    bu kod yazıyor fakat bu kodu yazdığımda sadece hosting firmamın yani yayını yaptığım makinenin Ip sini gösteriyor.Sitemi ziyaret edenin Ip sini öğrenmem lazım.

    5 Ağustos 2014 Salı 22:54

Yanıtlar

  • String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                 String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    Yukarıdaki kodların sana server IP'sini döndürdüğüne eminmisin ? LocalHost'ta çalışıorsan tabikide senin IP'ni döndürür, çünkü local'de server'da sensin, istek yapanda sensin. Hosting'inin mi ip adresini döndürüyor ? (Sanmam ama)

    İletişim

    6 Ağustos 2014 Çarşamba 07:01
    Moderatör

Tüm Yanıtlar

  • string ip = Request.UserHostAddress.ToString()

     localde çalıştırırsan ::1 döndürebilir ama sunucuda sorunsuz çalışır.

    5 Ağustos 2014 Salı 23:10
  • bunu da denedim buda host firmasının Ip adresini veriyor..Yani server'ımın bulunduğu Ip adresi.
    5 Ağustos 2014 Salı 23:17
  • String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                 String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    Yukarıdaki kodların sana server IP'sini döndürdüğüne eminmisin ? LocalHost'ta çalışıorsan tabikide senin IP'ni döndürür, çünkü local'de server'da sensin, istek yapanda sensin. Hosting'inin mi ip adresini döndürüyor ? (Sanmam ama)

    İletişim

    6 Ağustos 2014 Çarşamba 07:01
    Moderatör
  • localde çalıştırmıyorum.hosting firmamdaki Ip adresini döndürüyor.ftp atarken kullandığım.kendi Ip kontrolumü yapıyorum daha sonra siteye giriyorum.telefondan giriyorum siteye yine aynı döndürüyor.(telefon wifi ile bağlı değil.)
    6 Ağustos 2014 Çarşamba 07:41
  • Kodlarınızı yazarmısınız ? (Yukarıda belirttiğiniz değil, sayfadaki kodlarınız.)

    İletişim

    6 Ağustos 2014 Çarşamba 07:46
    Moderatör
  • site adı Gifim.info

    giriş Gifim.info/admin.aspx

    kullanıcı Adı:Ewrim

    Şifre:Ewrim

    Ip yerinde Ip kontolunu repeatera çekiyorum

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Gifim { public partial class Default : System.Web.UI.Page { GifimDbDataContext db = new GifimDbDataContext(); //string ZiyaretciIPsi = ""; int id; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; id =Convert.ToInt16( Request.QueryString["id"]); if (id==0) { RptResimDoldur(); } else { RptResimDoldur2(); } String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; eIp kaydet = new eIp(); //kaydet.Ip = db.eIps.InsertOnSubmit(kaydet); db.SubmitChanges(); RptBenzerDoldur(); } private void RptBenzerDoldur() { rptBenzer.DataSource = (from A in db.eResimlers select new { ResimUrl = A.ResimUrl, ResimYazi = A.ResimYazi, }).Skip(0).Take(10); rptBenzer.DataBind(); } private void RptResimDoldur() { rptResim.DataSource = (from A in db.eResimlers orderby A.ResimId descending select new { ResimId=A.ResimId, ResimUrl = A.ResimUrl, ResimYazi = A.ResimYazi, }).Take(1); rptResim.DataBind(); var puan2 = (from A in db.eResimlers select A.ResimId).ToList(); long puan3=puan2.Last(); eResimler puanArttir = db.eResimlers.SingleOrDefault(A=>A.ResimId==puan3); puanArttir.ResimPuan = puanArttir.ResimPuan + 1; db.SubmitChanges(); } private void RptResimDoldur2() { rptResim.DataSource = ((from A in db.eResimlers orderby A.ResimId descending where A.ResimId<id select new { ResimId = A.ResimId, ResimUrl = A.ResimUrl, ResimYazi = A.ResimYazi, }).Take(1)); rptResim.DataBind(); //ıp al session ekle ondan sonra puan arttır aynı adam gelırse puan arttırma //string Ziyaretci =Convert.ToString( Session["Ziyaretci"]); //if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) //{ // ZiyaretciIPsi = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); //} //else if (HttpContext.Current.Request.UserHostAddress.Length != 0) //{ // ZiyaretciIPsi = HttpContext.Current.Request.UserHostAddress; //} //Session.Add("Ziyaretci", ZiyaretciIPsi); var puan2 = (from A in db.eResimlers where A.ResimId==id select A.ResimId).ToList(); long puan3 = puan2.Last(); eResimler puanArttir = db.eResimlers.SingleOrDefault(A => A.ResimId == puan3); puanArttir.ResimPuan = puanArttir.ResimPuan + 1; db.SubmitChanges(); } } }


    6 Ağustos 2014 Çarşamba 13:22
  • Bunu dener misiniz ?

    string ip = HttpContext.Current.Request["REMOTE_ADDR"];

    string browser = HttpContext.Current.Request.Browser.Browser;

    string browserVersion = HttpContext.Current.Request.Browser.Version;

    Browser bilgilerini almak istiyorsan onlarda yardımcı olur.



    • Düzenleyen Berdann 7 Ağustos 2014 Perşembe 08:53
    7 Ağustos 2014 Perşembe 08:33
  • browser bilgilerini almak istemiyorum sadece siteyi ziyaret eden kullanıcının Ip adresini almak istiyorum
    7 Ağustos 2014 Perşembe 09:22
  • Ip bilgisini yazdım zaten denemen için ötekileri ekstra olarak verdim.
    7 Ağustos 2014 Perşembe 09:45
  • String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    bunu kullandım zaten.

    7 Ağustos 2014 Perşembe 11:05
  • String ip2=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    bunu kullandım zaten.

    Yukarıda bir sürü alternatif belirttik. En geçerli olanlarını / kullanılanlarını zaten siz kullanmışsınız. Bana kalırsa sorunu bu kod'ta değil, başka yerlerde aramalısınız. Başka bir yerde sorun olabilir.

    İletişim

    7 Ağustos 2014 Perşembe 11:10
    Moderatör
  • Eğer mesajımı dikkatli incelersen aynısı olmadığını görürsün orada ServerVariables var benim yazdığımda yok.

    HttpContext.Current.Request["REMOTE_ADDR"];

    7 Ağustos 2014 Perşembe 11:11
  • başka yer derken neresi olabilir örnek gösterirmisiniz?

    HttpContext.Current.Request["REMOTE_ADDR"];

    bunu denedim üsttekinide ayrı denedim aynı sonuçu veriyor

    7 Ağustos 2014 Perşembe 15:14
  • başka yer derken neresi olabilir örnek gösterirmisiniz?

    HttpContext.Current.Request["REMOTE_ADDR"];

    bunu denedim üsttekinide ayrı denedim aynı sonuçu veriyor

    Tekrar belirtiyorum; Sorun başka yerde. Kodların tümü doğru ve geçerli kullanılan kodlar.

    İletişim

    8 Ağustos 2014 Cuma 06:07
    Moderatör
  • Başla yer derken ne olabilir?hosting firmamdan kaynaklanıyor olabilir mi?çalışan örnek bulabilirmiyim?

    ben kodumu buraya koyabilirim yardımcı olabilecek birisi varsa?

    8 Ağustos 2014 Cuma 17:34