2012-11-14 14 views
5

मेरे पास एक प्रोग्राम है जिसमें वेब सर्वर पर एक php फ़ाइल जांचती है यह देखने के लिए कि उपयोगकर्ता सत्यापित है या नहीं। PHP फ़ाइलें डीबी के माध्यम से चलती हैं और चेक और echos "सत्यापित" अगर वे हैं।डेल्फी XE2 - निर्दिष्ट वेबसाइट का आईपी कैसे प्राप्त करें?

अब, लोग अब Xampp इंस्टॉल करके सत्यापन प्रणाली को आसानी से बाईपास कर रहे हैं, मेरे सर्वर को 127.0.0.1 पर अपने होस्ट फ़ाइल में रूट कर रहे हैं, और उसके बाद सत्यापित एक स्क्रिप्ट सेट कर रहे हैं।

मैं अपने डोमेन के आईपी पते की जांच करने में सक्षम होना चाहता हूं यह जांचने के लिए कि यह 127.0.0.1 पर जा रहा है या नहीं।

डेल्फी के माध्यम से किसी डोमेन के आईपी पते को हल करने के बारे में मैं कैसे जाउंगा?

+4

आपने स्पष्ट रूप से प्रश्न को सही ढंग से नहीं पढ़ा है। –

+0

@WarrenP एसएसएल/प्रमाणपत्र विचार के लिए मेजबान फ़ाइल –

उत्तर

14

मैं आईसीक्यू सर्वर-साइड सत्यापन के आसपास एक समान हैक का उपयोग करता था। बहुत सुविधाजनक है जब मैं अल्फा परीक्षण करने के लिए चाहता था/बीटा बनाता है कि मैं :-) के लिए आमंत्रित नहीं किया गया था

इंडी, डेल्फी के साथ जो जहाजों, एक TIdStack.ResolveHost() समारोह, और एक अलग TIdDNSResolver घटक, जो दोनों पाने के लिए इस्तेमाल किया जा सकता है डोमेन के आईपी (ओं)। स्थानीय आईपीवी 4 पते को पुनः प्राप्त करने के लिए इसमें TIdStack.LocalAddresses संपत्ति भी है। या आप विंडोज़ पर GetAdaptersAddresses() फ़ंक्शन जैसे स्थानीय आईपी की गणना करने के लिए प्लेटफार्म-विशिष्ट एपीआई के साथ सीधे सॉकेट एपीआई gethostbyname() या getaddrinfo() फ़ंक्शंस का उपयोग कर सकते हैं।

हालांकि, PHP स्क्रिप्ट को बस अपने ऐप पर सादा-पाठ को प्रतिबिंबित करने के बजाय, एक और अधिक सुरक्षित विकल्प है जिसके लिए आपको आईपी सत्यापित करने की आवश्यकता नहीं है, यह है कि आपका ऐप गतिशील रूप से जेनरेट किए गए गैर-मूल्य का मूल्य बनाएं और इसे भेजें PHP स्क्रिप्ट, उसके बाद स्क्रिप्ट प्रक्रिया है, हैश, जो कुछ भी आपको एल्गोरिदम का उपयोग करने की आवश्यकता है, जिसे केवल आप जानते हैं, और फिर इसे ऐप पर वापस भेज दें। ऐप एक ही एल्गोरिदम कर सकता है और परिणामों की तुलना कर सकता है। जब तक कि कोई व्यक्ति आपके ऐप को रिवर्स इंजीनियर करने का समय नहीं ले लेता है, तब तक वे आपके एल्गोरिदम या नकली परिणामों को उनके कस्टम Xampp स्क्रिप्ट के साथ पुन: पेश नहीं कर पाएंगे।

इससे भी बेहतर, अपने डोमेन सर्वर से अपना कनेक्शन एन्क्रिप्ट करने के लिए एसएसएल/टीएलएस का उपयोग करें, और अपने डोमेन सर्वर को एक SSL प्रमाणपत्र दें जो आपके ऐप को आपकी PHP स्क्रिप्ट के साथ किसी भी डेटा का आदान-प्रदान करने से पहले सत्यापित कर सकता है। यदि आप इतना कुछ करते हैं, तो आप सादा-पाठ प्रतिध्वनि का उपयोग करना जारी रख सकते हैं क्योंकि SSL/TLS सत्यापित करेगा कि आप अपने डोमेन से जुड़े हुए हैं।

+0

+1 में एक संख्यात्मक आईपी को फिर से दोहराया जा सकता है – Remko

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