/ / PHP IPv6 और IPv4 वेबपेज की विशिष्ट पहुंच को संबोधित करते हैं - php, ip, ipv6, access, ipv4

PHP आईपीवी 6 और आईपीवी 4 वेबपृष्ठ के लिए विशिष्ट पहुंच को संबोधित करता है - PHP, आईपी, आईपीवी 6, एक्सेस, आईपीवी 4

मैं उन उपयोगकर्ताओं तक पहुंच प्रतिबंधित करना चाहता हूं जो नहीं हैंएक विशिष्ट कंपनी के WIFI से जुड़ा है। उदाहरण के लिए, हमारे पास एक कंपनी है और इस कंपनी के पास कनेक्ट करने के लिए 2 अलग-अलग WIFI नेटवर्क हैं। मैं केवल एक पृष्ठ तक पहुंच देना चाहता हूं अगर ग्राहक इनमें से किसी एक वाईफ़ाई से जुड़ा हो।

  • उदाहरण के लिए वाईफ़ाई के IPv4 में से एक: 123.45.65.101
  • अन्य WIFI का IPv6 उदाहरण के लिए है: 2000: 980: CE5: 1: 4dd9: 47ad: ff9b: 4454

निम्नलिखित PHP स्क्रिप्ट ने उस समय पूरी तरह से काम किया जब केवल एक IPv4 पता था:

if(!in_array($_SERVER["REMOTE_ADDR"], $ip_adres_allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $ip_adres_allow)) {

die("You can"t access this webpage, please try again by your employee.");

exit();
}

जहाँ $ ip_adres_allow -> डेटाबेस में संग्रहीत मूल्यों की सरणी

मेरे प्रश्न हैं:

  • मुझे पता है कि IPv4 पते प्रति WIFI के समान हैं, वेपरिवर्तन नहीं होगा। लेकिन क्या IPv6 का पता वही है? मैंने कंपनी से कुछ IPv6 पतों को ट्रैक किया है और वे 2000: 980: Ce5: 1: XXXX: XXXX: XXXX: XXXX (जबकि X "s समान नहीं हैं) के साथ शुरू करना चाहते हैं। IPv6 की एक सीमा है?

    • क्या 2000: 980: Ce5: 1: 4dd9: 47ad: ff9b: 4454 वही WIFI है जैसा कि 2000: 980: Ce5: 1: 55de: de7d: df6e: ea62? या क्या यह निश्चित रूप से सुनिश्चित है कि यह एक और वाईफाई नेटवर्क है?
  • वहाँ ऊपर PHP स्क्रिप्ट को संशोधित करने का एक तरीका हैजांचें कि क्या कोई ग्राहक WIFI के किसी एक से जुड़ा है? या क्या यह स्क्रिप्ट अभी भी काम करना चाहिए? क्योंकि डेटाबेस IPv6 और IPv4 पतों के साथ हार्डकोड किया गया है। और यदि IPv6 एक पता है, तो कोई ऐसा व्यक्ति हो सकता है जो WIFI से जुड़ा हो, लेकिन "पृष्ठ का उपयोग नहीं कर सकता क्योंकि यह डेटाबेस में मूल्य का सटीक मिलान नहीं है।

मुझे सही जवाब दो अगर मैं गलत हूँ।

पढ़ने के लिए धन्यवाद।

उत्तर:

उत्तर № 1 के लिए -1

जैसा कि हमने अपनी चैट में चर्चा की है, नीचे एक नमूना कोड दिया गया है ताकि आप अपनी जांच कर सकें।

$checkip  = $_SERVER["Something with IP"];
$validate = "";

if($checkip == $_SERVER["Some IPv4"])
{
$ip = the IPv4 address
$validate = 4;
}
else
{
$ip = the ipv6 IP
$validate = 6;
}

if($validate == 4)
{
$ip = echo substr($ip, 0, ???); // IPv4 address
}
else
{
$ip = substr($ip, 0, 15); // 2000:950:ac2:3
}

दोबारा: यह आपको केवल एक विचार देने के लिए है। इसे सही ढंग से उपयोग करने के लिए आपको अपना स्वयं का फ़ंक्शन बनाने की आवश्यकता है। मेरा सुझाव है कि इसे लॉगिन पर एक फ़ंक्शन बनाएं, और अपने फ़ंक्शन को चर दें। इसलिए आपको अन्य कंपनियों के लिए अपनी स्क्रिप्ट को संशोधित करने की आवश्यकता नहीं है, केवल आपके द्वारा भेजे जा रहे चर। (फ़ंक्शन बस वापस आ सकता है true या false;

भाग्य तुम्हारा साथ दे दोस्त!