မျက်မှောက်ခေတ်ဝက်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သဟဇာတမဖြစ်သော (သို့) လက်လှမ်းမီမှုနည်းပါးသော client access ကိုစစ်ထုတ်ခြင်းသည်စနစ်၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုကိုသေချာစေရန်အရေးပါသည်။ သုံးစွဲသူ၏ဗားရှင်းများကိုကန့်သတ်ခြင်းအားဖြင့်အလားအလာရှိသောလုံခြုံရေးအားနည်းချက်များအားဖြင့်စွမ်းဆောင်ချက်အသစ်များကိုမထောက်ပံ့နိုင်သော 0 န်ဆောင်မှုစနစ်များကိုလျှော့ချနိုင်သည်။ Get_Client_Version_Version function သည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အဓိကကိရိယာဖြစ်သည်။
ဤဆောင်းပါးသည် Get_Cliesient_Version ကို အသုံးပြု. အနိမ့်ဗားရှင်းသုံးစွဲသူများကိုသုံးစွဲရန်မည်သို့အသုံးပြုရမည်,
Get_Client_Version_Version function သည် client version အချက်အလက်များကိုရရှိရန်အသုံးပြုသော PHP function ဖြစ်သည်။ ပုံမှန်အားဖြင့်ဖောက်သည်များသည်အထူးသဖြင့်ဆာဗာနှင့် 0 က်ဘ်ဆိုက်မှတစ်ဆင့်ဆာဗာနှင့်ဆက်သွယ်သည့်အခါ HTTP တောင်းဆိုမှုများတွင်၎င်းတို့၏ဗားရှင်းအချက်အလက်များကို HTTP တောင်းဆိုမှုများတွင်ပေးပို့သည့်အချက်အလက်များကို http တောင်းဆိုမှုများတွင်ပေးပို့သည်။ ဤလုပ်ဆောင်မှု၏အဓိကလုပ်ဆောင်ချက်မှာ client header in header ရှိ client header information အချက်အလက်များကိုဖြည့်ဆည်းရန်ဖြစ်သည်။
ဥပမာအားဖြင့် client သည်အောက်ပါနှင့်ဆင်တူတောင်းဆိုမှုခေါင်းစီးကိုပေးပို့နိုင်သည်။
User-Agent: MyApp/1.2.3
ဆာဗာသည်ဗားရှင်းနံပါတ် 1.2.3 ကို Get_Client_Version function မှတဆင့်ထုတ်ယူပြီးနောက်တောင်းဆိုမှုကိုဆက်လက်လုပ်ဆောင်ခြင်းရှိမရှိဆုံးဖြတ်ရန်ဆာဗာမှလိုအပ်သောနိမ့်ဆုံးဗားရှင်းနှင့်နှိုင်းယှဉ်သည်။
စနစ်၏လုံခြုံရေးနှင့်သဟဇာတတိုးတက်အောင်တိုးတက်စေရန်အတွက် 0 န်ဆောင်မှုခံယူသူ၏ဗားရှင်းနံပါတ်ပေါ်တွင် အခြေခံ. 0 န်ဆောင်မှုကိုကန့်သတ်နိုင်သည်။ တိကျသောချဉ်းကပ်နည်းမှာ 0 န်ဆောင်မှုခံယူသူ၏ဗားရှင်းနံပါတ်ကိုဆာဗာဘက်တွင်ရယူရန်နှင့်အနိမ့်ဆုံးဗားရှင်းနှင့်နှိုင်းယှဉ်ပါ။ အကယ်. client version သည်နိမ့်ဆုံးဗားရှင်းလိုအပ်ချက်ထက်နိမ့်ပါကတောင်းဆိုမှုကိုပယ်ချပြီးအသုံးပြုသူသည် client ကိုအဆင့်မြှင့်တင်ရန်တောင်းဆိုသည်။
ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် Get_cliesient_Version Function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသော PHP ဥပမာတစ်ခုမှာ -
<?php
// client ဗားရှင်းကိုရယူပါ
function get_client_version() {
// 假设通过请求头client ဗားရှင်းကိုရယူပါ
if (isset($_SERVER['HTTP_USER_AGENT'])) {
preg_match('/MyApp\/([0-9]+\.[0-9]+\.[0-9]+)/', $_SERVER['HTTP_USER_AGENT'], $matches);
return isset($matches[1]) ? $matches[1] : null;
}
return null;
}
// အနိမ့်ဆုံးထောက်ခံသောဗားရှင်းကိုသတ်မှတ်ပါ
$min_version = '2.0.0';
// client ဗားရှင်းကိုရယူပါ
$client_version = get_client_version();
// client version သည်အနိမ့်ဆုံးဗားရှင်းထက်အချည်းနှီးဖြစ်လျှင်,Access ကိုငြင်းပယ်သည်
if (is_null($client_version) || version_compare($client_version, $min_version, '<')) {
header('HTTP/1.1 403 Forbidden');
echo 'client version သည်အလွန်နည်းသည်,ကျေးဇူးပြုပြီးသင့် client ကိုအဆင့်မြှင့်ပါ!';
exit;
}
// ပုံမှန်အားဖြင့်နောက်ဆက်တွဲတောင်းဆိုမှုများ process
echo 'သင့်ရဲ့စနစ်မှကြိုဆိုပါသည်!';
?>
Get_Client_Version Function - ဒီ function ကို http တောင်းဆိုမှု header ထဲက client ရဲ့ဗားရှင်းနံပါတ်ကိုထုတ်ပေးတယ်။ ကျွန်ုပ်တို့သည် (ဤကဲ့သို့သော MyApp / 1.2.3 ကဲ့သို့သော MyApp / 1.2.3) တွင်မူဗားရှင်းအချက်အလက်များကိုပုံမှန်ဖော်ပြခြင်းနှင့်ဗားရှင်းနံပါတ်ကိုပြန်ပို့ပါ။
Version_CoPare function - ဒီ PHP betting in function ကိုဗားရှင်းနံပါတ်နှစ်ခုကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ အကယ်. client version သည်အနည်းဆုံးပံ့ပိုးထားသောဗားရှင်းထက်သေးငယ်ပါက version_CherChare သည် Reface သို့ပြန်လည်ရောက်ရှိလိမ့်မည်။
အမှားကိုင်တွယ်ခြင်း - client version သည်လိုအပ်ချက်ထက်နိမ့်ပါကစနစ်သည်အမှားအယွင်းတစ်ခုဖြစ်ပါက 403 ၏အမှားတစ်ခုသို့ပြန်လာပြီးသုံးစွဲသူကိုအဆင့်မြှင့်တင်ရန်အသုံးပြုသူကိုနှိပ်ပါ။
ဗားရှင်းနိမ့်သောဖောက်သည်များကိုစစ်ထုတ်ခြင်းအပြင်စနစ်တွင်နောက်ထပ်လိုက်ဖက်တဲ့အပိုဆောင်းညှိနှိုင်းမှုကိုလည်းလုပ်ဆောင်နိုင်သည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည်ဖောက်သည်များ၏ဗားရှင်းများစွာကိုထောက်ပံ့ရန်လိုအပ်ပါက 0 န်ဆောင်မှုခံယူသူများ၏ဗားရှင်းအဟောင်းများနှင့်သဟဇာတဖြစ်အောင်ပြုလုပ်ရန်ဗားရှင်းနံပါတ်ပေါ်တွင် အခြေခံ. မတူကွဲပြားသော APIs သို့မဟုတ်အရင်းအမြစ်များကိုပြန်ပို့နိုင်သည်။
ဤတွင်ရိုးရှင်းသောအကောင်အထည်ဖော်မှုဖြစ်သည်။
<?php
// client ဗားရှင်းကိုရယူပါ
$client_version = get_client_version();
// ကွဲပြားခြားနားသောဗားရှင်းအရကွဲပြားခြားနားသော interfaces ကိုပြန်သွားပါ
if (version_compare($client_version, '2.0.0', '>=')) {
// ဗားရှင်းအသစ်များမှလုပ်ငန်းစဉ်တောင်းဆိုမှုများ
echo 'ဗားရှင်းအသစ်များမှလုပ်ငန်းစဉ်တောင်းဆိုမှုများ';
} else {
// ဗားရှင်းအဟောင်းများမှတောင်းဆိုမှုများကိုကိုင်တွယ်ပါ
echo 'ဗားရှင်းအဟောင်းများမှတောင်းဆိုမှုများကိုကိုင်တွယ်ပါ';
}
?>
ဤနည်းအားဖြင့်စနစ်သည်မတူညီသောဗားရှင်းအမျိုးမျိုး၏မတူညီသောဗားရှင်းများ၏တောင်းဆိုမှုများကိုပိုမိုပြောင်းလဲစေနိုင်သည်။ 0 န်ဆောင်မှုခံယူသူများအားပုံမှန်အသုံးပြုနိုင်သည်
Get_Client_Version_version function ကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဗားရှင်းနိမ့်သောဖောက်သည်များထံမှဝင်ရောက်ခွင့်ကိုထိရောက်စွာ filterively filter လုပ်နိုင်သည်။ တစ်ချိန်တည်းမှာပင်မတူညီသော client version များအရသက်ဆိုင်ရာ 0 န်ဆောင်မှုပေးခြင်းစနစ်၏တည်ငြိမ်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။