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