PHP ပရိုဂရမ်တွင် Php_uname () function သည်လက်ရှိ operating system ၏အမည်, ဗားရှင်းအချက်အလက်များနှင့်စက်ပစ္စည်းများ၏အမျိုးအစားကိုပြန်ပို့ရန်အသုံးပြုသောအသုံးပြုသောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် developer များကိုအခြေခံအားဖြင့်သက်ဆိုင်သောသတင်းအချက်အလက်များဖြင့်တည်ဆောက်သူများကိုထောက်ပံ့ပေးသော်လည်းဆာဗာတွင်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်သောတိုက်ခိုက်သူများကအလွဲသုံးစားပြုနိုင်သည်။ ဤဆောင်းပါးသည် PHP_UNAME () တိုက်ခိုက်သူများ၏အလွဲသုံးစားမှုကိုအလွဲသုံးစားလုပ်ခြင်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်တိုက်ခိုက်သူများကအလားအလာရှိသောတိုက်ခိုက်မှုများပြုလုပ်ရန်မည်သည့်အားဖြင့်စနစ်သတင်းအချက်အလက်ကိုရယူနိုင်ပုံကိုလေ့လာလိမ့်မည်။
PHP တွင် Php_uname () function ၏ function သည်လက်ရှိ operating system ၏အသေးစိတ်အချက်အလက်များကိုရယူရန်ဖြစ်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$system_info = php_uname();
echo $system_info;
ဤလုပ်ဆောင်မှုမှပြန်လာသောအကြောင်းအရာသည်ယေဘုယျအားဖြင့်အောက်ပါအစိတ်အပိုင်းများပါရှိသည်။
operating system name (ဥပမာ Windows, Linux, Darwin စသည်တို့)
operating system ဗားရှင်းသတင်းအချက်အလက်
စက်ဟာ့ဒ်ဝဲအမျိုးအစား (ဥပမာ x86_64)
developer များသည်ဤအချက်အလက်ကိုစနစ်အဆင့်မြင့်ခြင်းသို့မဟုတ် debugging ပြုလုပ်ရန်ဤအချက်အလက်များကိုသုံးနိုင်သည်။ သို့သော်တိုက်ခိုက်သူတစ် ဦး သည်ဤအချက်အလက်များကိုအချို့သောနည်းများဖြင့်ရယူနိုင်လျှင်၎င်းတို့သည်ပစ်မှတ်ဆာဗာ၏တိကျသောလည်ပတ်မှုစနစ်ပတ်ဝန်းကျင်ကိုနားလည်နိုင်ပြီးနောက်ဆက်တွဲတိုက်ခိုက်မှုများအတွက်သဲလွန်စများကိုနားလည်နိုင်သည်။
php_uname () ကို အသုံးပြု. တိုက်ခိုက်သူကရရှိသောစနစ်အချက်အလက်များသည် server စနစ်နှင့်ဆာဗာဗားရှင်းကိုခွဲခြားသတ်မှတ်ရန်အသုံးပြုနိုင်သည်။ တိုက်ခိုက်သူတစ် ဦး မွေးစားနိုင်သည့်နည်းဗျူဟာအချို့မှာဤတွင်ဖော်ပြထားသည်။
တိုက်ခိုက်သူများသည် operating system ၏အမျိုးအစားနှင့်ဗားရှင်းကို php_uname () မှတဆင့်ရယူနိုင်သည်။ ဥပမာအားဖြင့်ရလဒ်ပြန်လာလျှင်ဆာဗာသည် 0 င်းဒိုးပေါ်တွင်ဆာဗာလည်ပတ်နေကြောင်းပြသသည်ဆိုပါကတိုက်ခိုက်သူသည် Windows သတ်သတ်မှတ်မှတ်အားနည်းချက်ကိုအမြတ်ထုတ်ရန်ကြိုးစားနိုင်သည်။ အကယ်. ၎င်းသည် Linux စနစ်ဖြစ်ပါကသတ်သတ်မှတ်မှတ် linux ဖြန့်ဖြူးမှုအတွက်အားနည်းချက်များကိုရှာဖွေရန်ကြိုးစားပေမည်။
$system_info = php_uname();
if (strpos($system_info, 'Windows') !== false) {
// ဆန့်ကျင့်ဘက်WindowsOS တိုက်ခိုက်မှုမဟာဗျူဟာ
}
System Information ကိုရယူခြင်းဖြင့်တိုက်ခိုက်သူသည်ဆာဗာ၏ hardware အမျိုးအစား, ပရိုဆက်ဆာဗိသုကာလက်ရာများကိုဆုံးဖြတ်နိုင်သည်။ ဤအချက်အလက်သည်အချို့သော anchiroural code ကိုခွဲခြားထားနိုင်, ဥပမာအားဖြင့်အချို့သောအားနည်းချက်များသည်တိကျသောဟာ့ဒ်ဝဲပလက်ဖောင်းတွင်သာတည်ရှိနိုင်သည်။
အကယ်. တိုက်ခိုက်သူသည် target server သည် operating system version တစ်ခုဖွင့်ထားကြောင်းဆုံးဖြတ်နိုင်လျှင်၎င်းတို့သည် operating system version နှင့်ဆက်စပ်သောလူသိရှင်ကြားအားနည်းချက်များကိုရှာဖွေရန်ပြည်သူလူထု၏အားနည်းချက်ဒေတာဘေ့စ်ကိုအသုံးချနိုင်သည်။ ထိုအားနည်းချက်များကိုနောက်ထပ်တိုက်ခိုက်မှုများစတင်ရန်အသုံးပြုနိုင်သည်။
တိုက်ခိုက်သူများသည် System Information ကိုလူမှုရေးအင်ဂျင်နီယာတိုက်ခိုက်မှုများအတွက်လည်းအသုံးပြုနိုင်သည်။ တိုက်ခိုက်သူတစ် ဦး သည်စနစ်သတင်းအချက်အလက်အလုံအလောက် (ထိုကဲ့သို့သော operating system version, system version, domain name enc) ကိုရရှိထားလျှင်၎င်းတို့သည်ဤအချက်အလက်များကို phishing အီးမေးလ်များ, ဝက်ဘ်ဆိုက်များမှတစ်ဆင့်ထပ်မံတိုက်ခိုက်ရန်အခြားသတင်းအချက်အလက်များကိုပေါင်းစပ်နိုင်သည်။
အချို့ဖြစ်ရပ်များတွင်တိုက်ခိုက်သူသည်ဆာဗာ operating system version ကိုရိုးရှင်းသော php_uname () function call မှတဆင့်ခွဲခြားသတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်, တိုက်ခိုက်သူသည်အောက်ပါအချက်အလက်များကိုပြန်ပို့ရန်ပစ်မှတ် server တစ်ခုကိုရှာဖွေသည်။
Linux webserver 4.15.0-74-generic #83-Ubuntu SMP Fri May 10 16:11:12 UTC 2019 x86_64
သတင်းအချက်အလက်ကတိုက်ခိုက်သူအား Target Server သည် Ubuntu Linux System ကို version 4.15 ဖြင့်အသုံးပြုနေသည်ဟုဖော်ပြသည်။ အများပြည်သူအားနည်းချက်ဒေတာဘေ့စ်ကိုမေးမြန်းခြင်းအားဖြင့်ဤဗားရှင်းတွင်ဤဗားရှင်းတွင်ဤဗားရှင်းတွင်လူသိများသောအားနည်းချက်များရှိကြောင်း, ဆာဗာကိုထပ်မံထိန်းချုပ်ရန်အသုံးချနိုင်သည်။
တိုက်ခိုက်သူသည်ပစ်မှတ်ထားသောဆာဗာကိုအားနည်းသောစကားဝှက်ကိုအားနည်းချက်ဖြင့် 0 င်ရောက်ပြီး php_uname () function ကိုခေါ်ယူရန် PHP_UNAME () function ကိုခေါ်ဆိုသည်။
Darwin MacBookPro 19.6.0 Darwin Kernel Version 19.6.0: Mon Apr 6 22:14:47 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64 x86_64
ရလဒ်အနေဖြင့်တိုက်ခိုက်သူကပစ်မှတ်ထားသောဆာဗာသည် Mac OS စနစ်တစ်ခုကိုလည်ပတ်နေပြီး MacBookPro ၏တိကျသောဗားရှင်းဖြစ်သည်ဟုသိသည်။ ဤအချက်အလက်များကိုအသုံးပြုခြင်းဖြင့်တိုက်ခိုက်သူသည်ထိုဗားရှင်းကိုလူသိများသောအားနည်းချက်များကိုရှာဖွေနိုင်ပြီးနောက်ထပ်တိုက်ခိုက်မှုများစတင်ခဲ့သည်။
php_uname () function ကိုရှောင်ရှားရန်အထိခိုက်မခံသောသတင်းအချက်အလက်များယိုစိမ့်မှုများကိုရှောင်ရှားနိုင်ရန်အတွက် developer များသည်အောက်ပါအစီအမံများကိုပြုလုပ်နိုင်သည်။
operating system အချက်အလက်ကိုပြသရန်မလိုအပ်သည့် application အချို့အတွက် developer များသည် php_uname () function ကို disable လုပ်သင့်သို့မဟုတ်စစ်မှန်ကြောင်းအတည်ပြုသုံးစွဲသူများသာဤ function ကိုသာခေါ်နိုင်အောင်ခြွင်းချက်စီရင်ချက်ချယူသင့်သည်။
if (isset($_SESSION['admin'])) {
echo php_uname();
} else {
echo "System Information ကိုရယူရန်ခွင့်ပြုချက်မရှိပါ";
}
ဆာဗာ၏ Php.INI Configuration ဖိုင်တွင် developer များကတိုက်ခိုက်မှုမျက်နှာပြင်ကိုအလွဲသုံးစားလုပ်ခြင်းနှင့်လျှော့ချနိုင်သည့်အချို့သောလုပ်ဆောင်ချက်များကို disable လုပ်နိုင်သည်။ ဥပမာအားဖြင့် PHP_UNAME () function ကိုသင်ပိတ်နိုင်သည်။
disable_functions = php_uname
Web application firewalls သည်လူသိများသောအားနည်းချက်များကိုတိုက်ခိုက်ရန်တားဆီးနိုင်သည်။ developer များက WAF ကိုရှာဖွေတွေ့ရှိရန်နှင့်တိုက်ခိုက်သူများအားစနစ်သတင်းအချက်အလက်ရယူခြင်းအားဖြင့်နောက်ထပ်တိုက်ခိုက်မှုများမပြုလုပ်ရန်အန္တရာယ်ရှိသည့်တောင်းဆိုမှုများကိုတားဆီးရန်နှင့်အန္တရာယ်ရှိသည့်တောင်းဆိုမှုများကိုတားဆီးရန်ပိတ်ဆို့ခြင်းကို configure လုပ်နိုင်သည်။
လည်ပတ်မှုစနစ်များနှင့်ဆော့ဖ်ဝဲများအတွက်လုံခြုံရေးပြင်ဆင်ဖာထေးမှုများအတွက်အချိန်မီအသစ်ပြောင်းခြင်းများသည်တိုက်ခိုက်သူများအားလူသိများသောအားနည်းချက်များကိုတားဆီးရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ developer များက server တွင် operating systems နှင့် applications application များသည်ချိန်းတွေ့ခြင်းနှင့်ခေါင်းပုံဖြတ်အမြတ်ထုတ်ခံရခြင်းကိုလျှော့ချရန်သေချာစေသင့်သည်။
Php_uname () function သည်အသုံးဝင်သောအသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သော်လည်း၎င်း၏ပေါက်ကြားစနစ်သတင်းအချက်အလက်သည်နောက်ထပ်တိုက်ခိုက်မှုများပြုလုပ်ရန်တိုက်ခိုက်သူများအတွက် 0 င်ရောက်မှုတစ်ခုဖြစ်လာနိုင်သည်။ function မှပြန်လာသောအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်တိုက်ခိုက်သူသည် operating system အမျိုးအစား, ဗားရှင်းနှင့်စက်ပစ္စည်းများ၏စက်ပစ္စည်းကိရိယာများကိုပင်ခွဲခြားနိုင်သည်။ ထို့ကြောင့် developer များဤအလားအလာရှိသောအန္တရာယ်များကိုပိုမိုသိရှိနားလည်စေပြီးဆာဗာကိုတိုက်ခိုက်မှုများမှကာကွယ်ရန်လိုအပ်သောကြိုတင်ကာကွယ်မှုများပြုလုပ်သင့်သည်။