လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Get_Client_Version function မှတဆင့် UA အတု၏စိန်ခေါ်မှုများနှင့်မဟာဗျူဟာများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

Get_Client_Version function မှတဆင့် UA အတု၏စိန်ခေါ်မှုများနှင့်မဟာဗျူဟာများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

gitbox 2025-05-06

Web Development ၏လုပ်ငန်းစဉ်တွင် UA (user agent) အတုသည်အသုံးများသောနည်းပညာဖြစ်သည်။ Attackers သည်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုကျော်လွှားရန်သို့မဟုတ်မိမိတို့ကိုယ်ကိုသတ်သတ်မှတ်မှတ်ကိရိယာများအဖြစ်အသုံးပြုခြင်းအားဖြင့်တိုက်ခိုက်သူများသည် UA ကြိုးများကို browsing browsing browsing ကိုအသုံးပြုကြသည်။ ထိုသို့သောအပြုအမူ၏စိန်ခေါ်မှုမှာတောင်းဆိုမှုသည်မှန်သည်နှင့်၎င်းကိုကာကွယ်ရန်သက်ဆိုင်ရာအစီအမံများယူရန်မည်သို့ဆုံးဖြတ်ရမည်နည်း။

ဒီစိန်ခေါ်မှုကိုရင်ဆိုင်ဖြေရှင်းနိုင်ရန် developer များသည် UA အတု၏လုံခြုံရေးအန္တရာယ်များကိုရှောင်ရှားရန်အသုံးပြုသူ၏လက်တွေ့သုံးစွဲသူဗားရှင်းကိုရှာဖွေရန် Get_Cliesient_Version_version function ကိုသုံးနိုင်သည်။ ဒီ function ကတဆင့် UA အတု၏စိန်ခေါ်မှုကိုကိုင်တွယ်ဖြေရှင်းရန်မည်သို့အသေးစိတ်ဆွေးနွေးမည်။

1 ။ UA အတု၏စိန်ခေါ်မှုများကိုနားလည်ပါ

UA အတုသည်တိုက်ခိုက်သူအားသူ၏တောင်းဆိုမှုကို အခြားရွေးချယ်မှု (UA) header header အချက်အလက်များကို http တောင်းဆိုမှုတွင်ပြုပြင်ခြင်းအားဖြင့်အခြားသော browser, operating system သို့မဟုတ် device ကိုဖုံးကွယ်ထားခြင်းဖြစ်သည်။ UA ကြိုးများကိုအတုပြုလုပ်ရန်ဘုံလှုံ့ဆော်မှုများမှာ -

  1. ဆန်းစစ်ရန်ဆန်းစစ်ရန်စနစ်ကိုရှောင်ကွင်း။

  2. အထူးခွင့်ပြုချက်ရရန် browser သို့မဟုတ် device တစ်ခုခုဖြစ်ဟန်ဆောင်ပါ။

  3. ဆေးထိုးတိုက်ခိုက်မှုများကဲ့သို့သောအန္တရာယ်ရှိသောအပြုအမူလုပ်ဆောင်ပါ။

2 ။ get_client_version function ကိုမိတ်ဆက်

Get_Client_Version သည် PHP function ဖြစ်သည်။ ၎င်းသည် client device, operating system အမျိုးအစားနှင့်အခြားအချက်အလက်များ၏မူကွဲအချက်အလက်များကိုရယူရန်အသုံးပြုသည်။ ဒီ function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည် ua string ၏အမှန်တကယ်အကြောင်းအရာများကို visit ည့်သည်သည်တကယ့်အသုံးပြုသူဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အမှန်တကယ်အကြောင်းအရာများကိုပေါင်းစပ်နိုင်သည်။

Client Information ကိုမည်သို့ရယူရန်နှင့် Get_Client_Version function ကိုမှတစ်ဆင့်အတည်ပြုရန်တင်ပြသည့်အခြေခံ PHP Code နမူနာတစ်ခုရှိသည်။

 <?php
function get_client_version() {
    $userAgent = $_SERVER['HTTP_USER_AGENT']; // အသုံးပြုသူအေးဂျင့် string ကိုရယူပါ
    preg_match('/(Mozilla|Chrome|Safari)[\/\s](\d+\.\d+)/', $userAgent, $matches); // ပုံမှန် browser ဗားရှင်းနံပါတ်နှင့်ကိုက်ညီ
    
    if (isset($matches[2])) {
        return $matches[2]; // ကိုက်ညီသောဗားရှင်းနံပါတ်ကိုပြန်ပို့သည်
    }
    return 'အမည်မသိဗားရှင်း'; // ဗားရှင်းနံပါတ်ရရှိနိုင်ပါသည်ဆိုပါက,အမည်မသိပြန်သွားပါ
}

// ဗားရှင်းသတင်းအချက်အလက်ရယူရန်ခေါ်ဆိုမှု function ကို
$clientVersion = get_client_version();
echo "client browser ဗားရှင်းဖြစ်ပါတယ်: " . $clientVersion;
?>

ဤကုဒ်တွင် Get_Cliesient_Version_version function သည် browser version အချက်အလက်များကိုပုံမှန်အသုံးအနှုန်းဖြင့်ပြုလုပ်နိုင်သည်။ အထူးသဖြင့် UA strings တွေကိုအတုလုပ်လို့ရရင်, စိစစ်အတည်ပြု browser ဗားရှင်းတွေဟာဒီဗားရှင်းအချက်အလက်ကိုဆုံးဖြတ်ဖို့ဒီဗားရှင်းအချက်အလက်ကိုသုံးနိုင်တယ်။

3 ။ UA အတုကို Get_Client_Version မှတစ်ဆင့်မည်သို့ကိုင်တွယ်ရမည်နည်း

UA အတုကိုကာကွယ်ခြင်းသည်များသောအားဖြင့်အောက်ပါနည်းဗျူဟာများပါ 0 င်သည်။

1 ။ UA ကြိုးများ၏ခွဲခြမ်းစိတ်ဖြာ

0 န်ဆောင်မှုခံယူသူမှတ်ပုံတင်ရန် UA string ကိုယ်နှိုက်ပေါ်တွင်သာမှီခိုနေရသောအန္တရာယ်များရှိသည်, ထို့ကြောင့်ကျွန်ုပ်တို့သည်တောင်းဆိုမှု၏တရားဝင်မှုကိုပူးတွဲအကောင်အထည်ဖော်ရန်အခြားအချက်အလက်များကိုပေါင်းစပ်သင့်သည်။ တစ်ချိန်တည်းမှာပင် Get_Client_Version_Version function ကိုတောင်းဆိုထားသော operating system, browser version အချက်အလက်များနှင့်ပေါင်းစပ်။ အတည်ပြုနိုင်သည်။

2 ။ ဗားရှင်းစိစစ်အတည်ပြုအတွက်ဆာဗာယုတ္တိဗေဒနှင့်အတူပေါင်းစပ်

client_clies_version မှတစ်ဆင့် client version အချက်အလက်များကိုရယူခြင်းအပြင်၎င်းကိုသိရှိနိုင်သည့် client version များနှင့်လည်းနှိုင်းယှဉ်နိုင်သည်။ တောင်းဆိုမှုတွင်ပါသောဗားရှင်းအချက်အလက်သည်မျှော်လင့်ထားသည့်ဗားရှင်းနှင့်မကိုက်ညီပါကတောင်းဆိုမှုကိုအတုနှင့်ထပ်မံပြုပြင်ခြင်းကိုယူဆနိုင်သည်။ ဥပမာအားဖြင့်တောင်းဆိုမှုကိုပိုမိုနက်ရှိုင်းသောစစ်ဆေးရေးအတွက်လုံခြုံရေးထောက်လှမ်းရေး module တစ်ခုသို့ပေးပို့နိုင်သည်။

 $knownVersion = '90.0'; // မျှော်မှန်း browser ဗားရှင်း

if ($clientVersion !== $knownVersion) {
    // ဗားရှင်းကိုက်ညီမထားဘူးဆိုရင်,နောက်ထပ်အကာအကွယ်အစီအမံအကောင်အထည်ဖော်ပါ
    echo "အသိပေး:UAအတုရှာဖွေတွေ့ရှိမှု,client ဗားရှင်းခြွင်းချက်!";
    // သင်မှတ်တမ်းကို log နိုင်ပါတယ်、၎င်းကိုကိုင်တွယ်ရန်ဝင်ရောက်ခွင့်နှင့်အခြားနည်းလမ်းများကိုကန့်သတ်ပါ
}

3 ။ အခြားစက်ပစ္စည်းသတင်းအချက်အလက်နှင့်အတူအတည်ပြုပါ

တခါတရံတိုက်ခိုက်သူသည် UA ကိုအတုမဟုတ်ဘဲစက်ပစ္စည်းအမျိုးအစားတစ်ခုဖြစ်ဟန်ဆောင်နိုင်သည်။ ဤအချိန်တွင်အခြားစက်ပစ္စည်းအချက်အလက်များမှတစ်ဆင့်အချက်နှစ်ချက်စိစစ်အတည်ပြုမှုကိုပြုလုပ်နိုင်သည်။ Get_Client_Version_version function ကိုရှာဖွေတွေ့ရှိသော version နံပါတ်နှင့် device type သည် client ၏အခြားအပြုအမူများနှင့်တွဲဖက်စိစစ်မှုပြုလုပ်ရန်အသုံးပြုနိုင်သည်။

4 ။ တတိယပါတီ 0 န်ဆောင်မှုများကိုစစ်ဆေးရန်အတွက်မိတ်ဆက်ပါ

Internal Php Verification အပြင် developer များသည် UA အချက်အလက်များ၏စစ်မှန်မှုကိုအတည်ပြုရန်တတိယပါတီ 0 န်ဆောင်မှုများကိုလည်းအသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, လိမ်လည်မှုဆန့်ကျင်ရေး 0 န်ဆောင်မှုအချို့မှတစ်ဆင့် UA ကြိုးများ၌လူသိများသောအတုပုံစံရှိမရှိစစ်ဆေးပါ။ အကယ်. ပုံမှန်မဟုတ်သောအပြုအမူများကိုရှာဖွေတွေ့ရှိပါက၎င်းသည်၎င်း၏အခွင့်အရေးများကိုအခွင့်အရေးများကိုကန့်သတ်ပြီးစနစ်၏ကာကွယ်မှုစွမ်းရည်ကိုမြှင့်တင်နိုင်သည်။

 $ua = $_SERVER['HTTP_USER_AGENT'];
$url = "https://gitbox.net/ua_check?user_agent=" . urlencode($ua);
$response = file_get_contents($url); // ပြင်ပဝန်ဆောင်မှုများကိုပေးပို့ပါUAစိစစ်အတည်ပြုလုပ်ဆောင်ပါ

if ($response === 'fraudulent') {
    echo "အသိပေး:ရှာဖွေတွေ့ရှိခဲ့သည်UAအကေြာင်းကြားချက်!";
    // သက်ဆိုင်ရာကုသမှုလုပ်ပါ,access ကိုပိတ်ထားလျှင်
}

4 ။ အကျဉ်းချုပ်

Get_Client_Version_Version function ကို အသုံးပြု. ဆင်ခြင်တုံတရားဖြင့် UA အတုလုပ်ခဲ့သည့်စိန်ခေါ်မှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။ ဗားရှင်းသတင်းအချက်အလက်များကိုပေါင်းစပ်ခြင်း, စက်ဝိသေသလက္ခဏာများနှင့်တတိယပါတီစိစစ်ရေး 0 န်ဆောင်မှုများသည်ကာကွယ်မှု၏တိကျမှန်ကန်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုပိုမိုတိုးတက်စေနိုင်သည်။ သို့သော်တန်ပြန်နည်းပညာများပြောင်းလဲခြင်းနှင့် ပတ်သက်. developer များသည်စနစ်၏လုံခြုံရေးကိုသေချာစေရန်ကာကွယ်ရေးနည်းဗျူဟာအမျိုးမျိုးကိုပြောင်းလွယ်ပြင်လွယ်ရှိရန်လိုအပ်သည်။