2011-10-06 8 views
9
  1. मेरी देव मशीन HttpContext.Current.Request.UserHostAddress शून्य में है। क्यों? मैं इसे कैसे चालू कर सकता हूं?
  2. प्रॉक्सी क्लाइंट के मामले में आईपीएस की सूची कैसे प्राप्त कर सकता हूं?

एएसपीनेट 4 विंडो 7 के साथ डब्ल्यूसीएफ सेवा।HttpContext.Current.Request.UserHostAddress शून्य है

धन्यवाद

+0

मैं एक खाली/बातिल कभी नहीं पाने में मदद करता है, लेकिन कैसिनी जो भी कारण के लिए एक ":: 1" रिटर्न अब। –

+0

@ डूज़र ब्लेक :: 1 आईपीवी 6 का संस्करण 127.0.0.1 है। स्रोत: http://stackoverflow.com/a/4611421/84395 –

उत्तर

6

इस समस्या से बचने के लिए आप पिछले entery आईपी के लिए HTTP_X_FORWARDED_FOR पार्स कर सकते हैं।

ip=Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ; 
if (!string.IsNullOrEmpty(ip)) 
{ 
    string[] ipRange = ip.Split(','); 
    int le = ipRange.Length - 1; 
    string trueIP = ipRange[le]; 
} 
else 
{ 
    ip=Request.ServerVariables["REMOTE_ADDR"]; 
} 

आशा इस वसीयत आप

+3

'वायरल सर्ववाई' के उत्तर के बारे में सिर्फ एक नोट। [विकिपीडिया] के अनुसार (http://en.wikipedia.org/wiki/X-forwarded-for) और [अमेज़ॅन] (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html) एक्स-फॉरवर्डेड-हेडर के लिए निम्न प्रारूप है:> एक्स-फॉरवर्ड-फॉर: क्लाइंट, प्रॉक्सी 1, प्रॉक्सी 2 इसका मतलब है कि आपको 'ipRange' में पहली स्ट्रिंग का उपयोग करना चाहिए, अंतिम नहीं। – dubrowgn

संबंधित मुद्दे