Web Development ၏လုပ်ငန်းစဉ်တွင် UA (user agent) အတုသည်အသုံးများသောနည်းပညာဖြစ်သည်။ Attackers သည်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးအစီအမံများကိုကျော်လွှားရန်သို့မဟုတ်မိမိတို့ကိုယ်ကိုသတ်သတ်မှတ်မှတ်ကိရိယာများအဖြစ်အသုံးပြုခြင်းအားဖြင့်တိုက်ခိုက်သူများသည် UA ကြိုးများကို browsing browsing browsing ကိုအသုံးပြုကြသည်။ ထိုသို့သောအပြုအမူ၏စိန်ခေါ်မှုမှာတောင်းဆိုမှုသည်မှန်သည်နှင့်၎င်းကိုကာကွယ်ရန်သက်ဆိုင်ရာအစီအမံများယူရန်မည်သို့ဆုံးဖြတ်ရမည်နည်း။
ဒီစိန်ခေါ်မှုကိုရင်ဆိုင်ဖြေရှင်းနိုင်ရန် developer များသည် UA အတု၏လုံခြုံရေးအန္တရာယ်များကိုရှောင်ရှားရန်အသုံးပြုသူ၏လက်တွေ့သုံးစွဲသူဗားရှင်းကိုရှာဖွေရန် Get_Cliesient_Version_version function ကိုသုံးနိုင်သည်။ ဒီ function ကတဆင့် UA အတု၏စိန်ခေါ်မှုကိုကိုင်တွယ်ဖြေရှင်းရန်မည်သို့အသေးစိတ်ဆွေးနွေးမည်။
UA အတုသည်တိုက်ခိုက်သူအားသူ၏တောင်းဆိုမှုကို အခြားရွေးချယ်မှု (UA) header header အချက်အလက်များကို http တောင်းဆိုမှုတွင်ပြုပြင်ခြင်းအားဖြင့်အခြားသော browser, operating system သို့မဟုတ် device ကိုဖုံးကွယ်ထားခြင်းဖြစ်သည်။ UA ကြိုးများကိုအတုပြုလုပ်ရန်ဘုံလှုံ့ဆော်မှုများမှာ -
ဆန်းစစ်ရန်ဆန်းစစ်ရန်စနစ်ကိုရှောင်ကွင်း။
အထူးခွင့်ပြုချက်ရရန် browser သို့မဟုတ် device တစ်ခုခုဖြစ်ဟန်ဆောင်ပါ။
ဆေးထိုးတိုက်ခိုက်မှုများကဲ့သို့သောအန္တရာယ်ရှိသောအပြုအမူလုပ်ဆောင်ပါ။
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 ဗားရှင်းတွေဟာဒီဗားရှင်းအချက်အလက်ကိုဆုံးဖြတ်ဖို့ဒီဗားရှင်းအချက်အလက်ကိုသုံးနိုင်တယ်။
UA အတုကိုကာကွယ်ခြင်းသည်များသောအားဖြင့်အောက်ပါနည်းဗျူဟာများပါ 0 င်သည်။
0 န်ဆောင်မှုခံယူသူမှတ်ပုံတင်ရန် UA string ကိုယ်နှိုက်ပေါ်တွင်သာမှီခိုနေရသောအန္တရာယ်များရှိသည်, ထို့ကြောင့်ကျွန်ုပ်တို့သည်တောင်းဆိုမှု၏တရားဝင်မှုကိုပူးတွဲအကောင်အထည်ဖော်ရန်အခြားအချက်အလက်များကိုပေါင်းစပ်သင့်သည်။ တစ်ချိန်တည်းမှာပင် Get_Client_Version_Version function ကိုတောင်းဆိုထားသော operating system, browser version အချက်အလက်များနှင့်ပေါင်းစပ်။ အတည်ပြုနိုင်သည်။
client_clies_version မှတစ်ဆင့် client version အချက်အလက်များကိုရယူခြင်းအပြင်၎င်းကိုသိရှိနိုင်သည့် client version များနှင့်လည်းနှိုင်းယှဉ်နိုင်သည်။ တောင်းဆိုမှုတွင်ပါသောဗားရှင်းအချက်အလက်သည်မျှော်လင့်ထားသည့်ဗားရှင်းနှင့်မကိုက်ညီပါကတောင်းဆိုမှုကိုအတုနှင့်ထပ်မံပြုပြင်ခြင်းကိုယူဆနိုင်သည်။ ဥပမာအားဖြင့်တောင်းဆိုမှုကိုပိုမိုနက်ရှိုင်းသောစစ်ဆေးရေးအတွက်လုံခြုံရေးထောက်လှမ်းရေး module တစ်ခုသို့ပေးပို့နိုင်သည်။
$knownVersion = '90.0'; // မျှော်မှန်း browser ဗားရှင်း
if ($clientVersion !== $knownVersion) {
// ဗားရှင်းကိုက်ညီမထားဘူးဆိုရင်,နောက်ထပ်အကာအကွယ်အစီအမံအကောင်အထည်ဖော်ပါ
echo "အသိပေး:UAအတုရှာဖွေတွေ့ရှိမှု,client ဗားရှင်းခြွင်းချက်!";
// သင်မှတ်တမ်းကို log နိုင်ပါတယ်、၎င်းကိုကိုင်တွယ်ရန်ဝင်ရောက်ခွင့်နှင့်အခြားနည်းလမ်းများကိုကန့်သတ်ပါ
}
တခါတရံတိုက်ခိုက်သူသည် UA ကိုအတုမဟုတ်ဘဲစက်ပစ္စည်းအမျိုးအစားတစ်ခုဖြစ်ဟန်ဆောင်နိုင်သည်။ ဤအချိန်တွင်အခြားစက်ပစ္စည်းအချက်အလက်များမှတစ်ဆင့်အချက်နှစ်ချက်စိစစ်အတည်ပြုမှုကိုပြုလုပ်နိုင်သည်။ Get_Client_Version_version function ကိုရှာဖွေတွေ့ရှိသော version နံပါတ်နှင့် device type သည် client ၏အခြားအပြုအမူများနှင့်တွဲဖက်စိစစ်မှုပြုလုပ်ရန်အသုံးပြုနိုင်သည်။
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 ကိုပိတ်ထားလျှင်
}
Get_Client_Version_Version function ကို အသုံးပြု. ဆင်ခြင်တုံတရားဖြင့် UA အတုလုပ်ခဲ့သည့်စိန်ခေါ်မှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။ ဗားရှင်းသတင်းအချက်အလက်များကိုပေါင်းစပ်ခြင်း, စက်ဝိသေသလက္ခဏာများနှင့်တတိယပါတီစိစစ်ရေး 0 န်ဆောင်မှုများသည်ကာကွယ်မှု၏တိကျမှန်ကန်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုပိုမိုတိုးတက်စေနိုင်သည်။ သို့သော်တန်ပြန်နည်းပညာများပြောင်းလဲခြင်းနှင့် ပတ်သက်. developer များသည်စနစ်၏လုံခြုံရေးကိုသေချာစေရန်ကာကွယ်ရေးနည်းဗျူဟာအမျိုးမျိုးကိုပြောင်းလွယ်ပြင်လွယ်ရှိရန်လိုအပ်သည်။