2010-04-12 20 views
5

मुझे उस सर्वर का आईपी पता ढूंढने में सक्षम होना चाहिए जिस पर पृष्ठ वर्तमान में चल रहा है। मेरे पास कुछ कोड है जो किसी तृतीय पक्ष साइट को कॉल करता है और उसे एक विशिष्ट कुंजी पास करनी होती है जो उस सर्वर के आधार पर बदलती है जो यह चालू है। क्या सीजीआई वैरिएबल या कोल्डफ्यूजन में कुछ तरीका है यह निर्धारित करने के लिए कि होस्ट सर्वर का आईपी पता क्या है?अपने एप्लिकेशन सर्वर का आईपी पता कैसे प्राप्त करें

उत्तर

1

सबसे सुरक्षित तरीका WhatIsMyIP जैसी सेवा का उपयोग करना होगा। यदि सर्वर एनएटी के पीछे है, तो ओएस को बाहरी आईपी पते का कोई ज्ञान नहीं है।

इसके बारे में SO में कई प्रश्न हैं, उदाहरण के लिए here देखें।

4

होने के दो कारण एक कार्यक्रम के मेजबान उस पर चल रहा है क्वेरी नहीं कर सकता और देखो क्या अपने आईपी है कर रहे हैं:

  1. यह कई ips हो सकता है, और कर्नेल डेटा के सभी प्रकार के माध्यम से देख की कमी जिन संरचनाओं को आप यह जानने की संभावना नहीं रखते हैं कि किसी दिए गए आउटगोइंग कनेक्शन के लिए कौन सा उपयोग किया जा रहा है।

  2. यह एनएटी फ़ायरवॉल या किसी प्रकार की प्रॉक्सी के बावजूद बाहरी दुनिया से कनेक्ट हो सकता है ताकि बाहरी दुनिया आपके बॉक्स पर कॉन्फ़िगर किए गए किसी भी से भिन्न आईपी दिखाई दे।

वास्तव में, उन दोनों से अधिक हो सकता है, लेकिन वे मेरे साथ हुए हैं।

इसके कारण, सबसे आसान तरीका है कि आप अपने कॉर्पोरेट नेटवर्क के बाहर कहीं और बॉक्स से कनेक्ट करें और देखें कि आपके पास क्या आईपी है। मैं अपने कोलो बॉक्स पर चल रहे दो लाइन सीजीआई स्क्रिप्ट का उपयोग यह पता लगाने के लिए करता हूं कि वर्तमान में आईपी मेरे होम सर्वर में क्या है (इसलिए जब मैं केबल कंपनी इसे बदलता हूं तो पता लगा सकता हूं)।

5
अन्य टिप्पणीकर्ताओं रेखांकित किया है यदि आप तृतीय पक्ष साइट के रूप में बाहरी IP जरूरत है जैसा

यह तो शायद देखता है आप उनके द्वारा अनुशंसित बाहरी दृष्टिकोण का उपयोग करना चाहिए।

हालांकि तीसरे पक्ष आप किसी न किसी रूप के रूप में सर्वर ही देखता है और न आईपी के रूप में वे इसे देख एक वास्तविक आईपी पर आधारित है में का उपयोग दे रहा है आप उपयोग कर सकते हैं

<cfset cName = CreateObject("java", "java.net.InetAddress").getLocalHost().getHostAddress()> 

<cfdump var="#cName#"> 
2

आप सीजीआई उपयोग कर सकते हैं .LOCAL_ADDR आपके सर्वर का आईपी पता निर्धारित करने के लिए (PHP के $ _SERVER ["SERVER_ADDR"] के समतुल्य CFML)। यह कोल्डफ्यूजन या रेलो का उपयोग करके आईआईएस और अपाचे पर काम करता है, बशर्ते आप प्रॉक्सी के पीछे न हों, अपने सर्वर आईपी को नट न करें और आपके सर्वर पर केवल एक आईपी असाइन किया जाए (सुनिश्चित न करें कि कौन से आईपी दिखाए जाएंगे, यदि एक से अधिक हैं)।

0
<cfhttp url="http://www.whatismyip.com/" result="myresult" resolveurl="yes"> 
<cfoutput>#myresult.filecontent#</cfoutput> 

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

  • कोई संबंधित समस्या नहीं^_^