လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> IP တရားဝင်မှုကိုဆုံးဖြတ်ရန် Get_Client_Version နှင့် filter_var () ကိုသုံးပါ

IP တရားဝင်မှုကိုဆုံးဖြတ်ရန် Get_Client_Version နှင့် filter_var () ကိုသုံးပါ

gitbox 2025-05-10

PHP Development တွင်အသုံးပြုသူမှပေးသော IP address သည်တရားဝင်ရှိမရှိစစ်ဆေးရန်လိုအပ်သည်။ များစွာသောအခြေအနေများတွင်အထူးသဖြင့်ဖောက်သည်ဆက်သွယ်မှုများသို့မဟုတ် API တောင်းဆိုမှုများကိုကိုင်တွယ်သည့်အခါ IP စိစစ်အတည်ပြုခြင်းသည်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် IP address ကိုတရားဝင်ရှိမရှိဆုံးဖြတ်ရန် Get_Client_Version () function_var () function ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။

1 ။ client IP address ကိုရယူပါ

ပထမ ဦး စွာ 0 န်ဆောင်မှုခံယူသူ၏အိုင်ပီလိပ်စာကိုရယူရန်လိုအပ်သည်။ ပုံမှန်အားဖြင့် client IP ကို ​​Remote_addr မှ ဒေါ်လာ _server hyperglophobal ခင်းကျင်းမှုတွင်ရရှိနိုင်ပါက Proxy server သို့မဟုတ် load balancer ကိုအသုံးပြုခြင်းကဲ့သို့သောအချို့သောကိစ္စရပ်များတွင် Remote_addr သည် Proxy server ၏ IP address ကိုပြန်ပို့နိုင်သည်။ Client ၏ Real IP address ကိုမှန်ကန်စွာရရှိနိုင်ကြောင်းသေချာစေရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

 function get_client_ip() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        return $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        return $_SERVER['REMOTE_ADDR'];
    }
}

Get_Client_IP () function ကို http header fields http_client_IP နှင့် http_x_porwardedededed andforfored andforfored_for ကို ဦး စားပေးလိမ့်မည်။ အကယ်. ဤကွက်လပ်တွင်တန်ဖိုးမထားရှိပါက Remote_addr ကို ပြန်ပို့သည်, ၎င်းသည်ပုံမှန် client IP ဖြစ်သည်။

2 ။ IP address ကိုအတည်ပြုရန် filter_var () ကိုသုံးပါ

နောက်တစ်ခုက PHPP ရဲ့ filter_var () function ကိုသုံးတယ်။ Filter_VAR () သည်စိစစ်အတည်ပြုအမျိုးအစားအပေါ် အခြေခံ. တန်ဖိုးများကိုစစ်ဆေးရန်သင့်အားအလွန်အစွမ်းထက်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ IP address များကိုစစ်ဆေးရန်အတွက် Filter_valka_IP option ကိုသုံးနိုင်သည်။

 $ip = get_client_ip();  // client ကိုရယူပါIPစကားပေြာဟော
if (filter_var($ip, FILTER_VALIDATE_IP)) {
    echo "IPစကားပေြာဟော合法:$ip";
} else {
    echo "IPစကားပေြာဟော不合法:$ip";
}

ဤဥပမာတွင် Filter_VAR () သည် ဝင်ငွေခွန် IP သည်တရားဝင် IP address ဖြစ်သည်ကိုစစ်ဆေးလိမ့်မည်။ IP address သည်တရား 0 င် ပါ ကပြန်လည်ထူထောင်ပါ။

IPv4 နှင့် IPv6 ကိုထောက်ပံ့သည်

Filter_valka_ip သည် IPv4 နှင့် IPv6 လိပ်စာများကိုအတည်ပြုလိမ့်မည်။ IPv4 သို့မဟုတ် IPv6 လိပ်စာများကိုအတည်ပြုရန်သာလိုအပ်ပါကအလံကိုသတ်မှတ်ခြင်းဖြင့်အမျိုးအစားကိုကန့်သတ်နိုင်သည်။

 // မှန်ကေြင်းဝန်ခံIPv4စကားပေြာဟော
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
    echo "IPv4စကားပေြာဟော合法:$ip";
} else {
    echo "IPv4စကားပေြာဟော不合法:$ip";
}

// မှန်ကေြင်းဝန်ခံIPv6စကားပေြာဟော
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    echo "IPv6စကားပေြာဟော合法:$ip";
} else {
    echo "IPv6စကားပေြာဟော不合法:$ip";
}

filter_flag_ipv4 သို့မဟုတ် filter_flag_ipv6 အလံများကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် IPv4 သို့မဟုတ် IPv6 အမျိုးအစားများ၏လိပ်စာများကိုသာအတည်ပြုနိုင်သည်။

3 ။ ပြည့်စုံသောဥပမာတစ်ခု - IP လိပ်စာသည်တရားဝင်ဟုတ်မဟုတ်ဆုံးဖြတ်ခြင်းနှင့်ကွဲပြားသောအခြေအနေများကိုကိုင်တွယ်သည်ကိုဆုံးဖြတ်ပါ

နောက်ဆုံးတွင် Get_CliTient_IP () function_var () function_var () function ကိုပေါင်းစပ်ပြီး 0 န်ဆောင်မှုခံယူသူ IP address သည်တရားဝင်ဖြစ်စေ,

 // client ကိုရယူပါIPစကားပေြာဟော
$ip = get_client_ip();

// မှန်ကေြင်းဝန်ခံIPစကားပေြာဟော是否合法
if (filter_var($ip, FILTER_VALIDATE_IP)) {
    echo "IPစကားပေြာဟော合法:$ip";
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
    echo "IPv4စကားပေြာဟော合法:$ip";
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    echo "IPv6စကားပေြာဟော合法:$ip";
} else {
    echo "IPစကားပေြာဟော不合法:$ip";
}

ဤဥပမာတွင်ပုံမှန် IP လိပ်စာကိုအတည်ပြုရန်ပထမ ဦး ဆုံး IP သည်သာမန် IP မဟုတ်လျှင်၎င်းသည်တရားဝင် IPv4 သို့မဟုတ် IPv6 လိပ်စာဟုတ်မဟုတ်စစ်ဆေးပါ။ အကယ်. မည်သူတစ် ဦး တစ်ယောက်ကသတ်မှတ်ချက်များနှင့်မကိုက်ညီပါက output သည် "IP address သည်တရားမဝင်" ဖြစ်သည်။

IP address သည်တရားဝင်ဖြစ်ကြောင်းအတည်ပြုရန် Get_Client_Version () နှင့် filter_var () ကို စစ်ဆေးရန်ဤဆောင်းပါးသည်သင့်အားနားလည်ရန်နားလည်ရန်ကူညီပေးပါ။ PHP Development နှင့် ပတ်သက်. သင်ပိုမိုမေးခွန်းများရှိပါကမေးခွန်းများမေးရန်လွတ်လပ်စွာခံစားပါ။