گرفتن آي پي سيستم كلاينت، نه آي پي isp كلاينت

roebuck

Member
سلام به همه دوستان

من با اين كد در وب سرويس قصد گرفتن آي پي سيستم كلاينتهايي كه از وب سرويس استفاده ميكنند را دارم:

کد:
public static string GetIPAddress()
    {
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        string sIPAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        if (string.IsNullOrEmpty(sIPAddress))
        {
            return context.Request.ServerVariables["REMOTE_ADDR"];
        }
        else
        {
            string[] ipArray = sIPAddress.Split(new Char[] { ',' });
            return ipArray[0];
        }
    }

اما آي پي اي كه اين كد ميدهد، آي پي سيستم نيست بلكه آي پي ISP اي هست كه كلاينت از اينترنت آنها استفاده ميكند!
و در صورت استفاده از فيلترشكن يا وي پي ان آي پي به دليل استفاده از سرور ديگر تغيير ميكند.

لطفا راهنمايي كنيد كه بايد چكار كنم؟
 

sepidweb

Member
هیچ راهی ندارید.
IP چیز ثابتی نیست.
وقتی کاربر با وی پی ان وصل می شود، یک IP جدید به اون نسبت داده می شود.
همینطور وقتی کاربر public ip نداشته باشد، شما Ip شرکت ISP رو می بینید. چون اصلا کاربر IP ندارد.
فقط وقتی می توانید از کاربر یک IP مشخص داشته باشید که static public ip داشته باشد.
 
  • Like
Reactions: MDP

جدیدترین ارسال ها

بالا