မျက်မှောက်ခေတ်အင်တာနက်ဝန်းကျင်တွင် 0 က်ဘ်ဆိုက်လုံခြုံရေးသည်အထူးသဖြင့် PHP 0 ဘ်ဆိုဒ်ဖြစ်သည်။ ဝက်ဘ်ဆိုက်များသည်တိုက်ခိုက်မှုအမျိုးအစားမျိုးစုံကိုကိုင်တွယ်နိုင်သော်လည်းယုတ္တိဗေဒဆိုင်ရာအားနည်းချက်များကိုမကြာခဏသတိမထားမိကြပါ။ ဤဆောင်းပါးသည်ဘုံ PHP ယုတ္တိဗေဒဆိုင်ရာအားနည်းချက်များနှင့်သက်ဆိုင်ရာကြိုတင်ကာကွယ်ရေးနှင့်ပြုပြင်နည်းများကိုပေးလိမ့်မည်။
အသုံးပြုသူများသည်များသောအားဖြင့်သင့်လျော်သောအတည်ပြုချက်ကိုမအောင်မြင်သောအခါခွင့်ပြုချက်မရှိသောလက်လှမ်းမီမှုအားနည်းချက်များသည်များသောအားဖြင့်ကန့်သတ်ထားသင့်သည့်အရင်းအမြစ်များကိုရယူရန်ပျက်ကွက်သည့်အခါများသောအားဖြင့်ဖြစ်ပွားလေ့ရှိသည်။ ၎င်းကိုကာကွယ်ရန်ဝက်ဘ်ဆိုက်သည်အထိခိုက်မခံသောအချက်အလက်များနှင့်လုပ်ငန်းများကိုခွင့်ပြုထားသောအသုံးပြုသူများအတွက်သာရရှိနိုင်ကြောင်းသေချာစေရန် 0 က်ဘ်ဆိုက်သည်အားကောင်းသောထိန်းချုပ်မှုများကိုအကောင်အထည်ဖော်ရမည်။
ဥပမာအားဖြင့်, စာမျက်နှာတစ်ခုတွင်အသုံးပြုသူဝင်ရောက်ရန်လိုအပ်ပါကအောက်ပါကုဒ်များမှတစ်ဆင့်ဝင်ရောက်ခွင့်ကိုရရှိနိုင်သည်။
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header('Location: login.php');
exit();
}
?>
ဤကျင့်ထုံးသည်စစ်မှန်ကြောင်းအတည်ပြုထားသောအသုံးပြုသူများသည်အသုံးပြုသူသည်လော့ဂ်အင်ဝင်ရန် (i.e. ၏ 0 င်ရောက်ခြင်းကိုစစ်ဆေးခြင်းရှိမရှိစစ်ဆေးခြင်းအားဖြင့်အကာအကွယ်ပေးထားသောအရင်းအမြစ်များကိုရယူနိုင်သည်။
အလွန်အကျွံစစ်ဆင်ရေးတစ်ခုသည်သူသို့မဟုတ်သူမ၏ခွင့်ပြုချက်များအတွင်းမကျသည့်စစ်ဆင်ရေးကိုလုပ်ဆောင်သောအသုံးပြုသူကိုရည်ညွှန်းသည်။ ဤအားနည်းချက်အမျိုးအစားသည်ခွင့်ပြုချက်မလုံလောက်ခြင်းသို့မဟုတ်မမှန်ကန်သောခွင့်ပြုချက်ခွဲဝေချထားပေးခြင်းကြောင့်ဖြစ်ပေါ်လေ့ရှိသည်။ overrelling operations များကိုကာကွယ်ရန် developer များက code တွင်ကွဲပြားခြားနားသောအခန်းကဏ် of အသုံးပြုသူများ၏လုပ်ငန်းခွင်ခွင့်ပြုချက်များကိုအတိအလင်းကန့်သတ်ရန်လိုအပ်သည်။
ဥပမာအားဖြင့်, 0 ဘ်ဆိုဒ်တွင်အုပ်ချုပ်ရေးစာမျက်နှာတွင်အုပ်ချုပ်ရေးမှူးများမှသာလက်လှမ်းမီပါက,
<?php
session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['role'] != 'admin') {
header('Location: index.php');
exit();
}
?>
အသုံးပြုသူသည်လော့ဂ်အင်လုပ်ခြင်းရှိမရှိကိုစစ်ဆေးရုံသာမကအသုံးပြုသူ၏အခန်းကဏ် is သည် "admin" ဟုလည်းစစ်ဆေးသည်။
Replay Attack သည်ခိုင်လုံသော session tokens များကိုဖမ်းယူခြင်းနှင့်ပြန်လည်အသုံးပြုခြင်းအားဖြင့်တိုက်ခိုက်မှုနည်းလမ်းတစ်ခုသည်တိုက်ခိုက်မှုနည်းလမ်းဖြစ်သည်။ ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန်တောင်းဆိုမှုတစ်ခုစီတွင်ထူးခြားသော session တစ်ခုတိုကင်ကိုသုံးနိုင်သည်။ တင်သွင်းထားသောတိုကင်ကိုစစ်ဆေးနိုင်သည်။
အောက်ဖော်ပြပါကုဒ်ဥပမာသည် Replay တိုက်ခိုက်မှုများကိုမည်သို့တားဆီးရမည်ကိုပြသသည်။
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['token']) && $_POST['token'] == $_SESSION['token']) {
// ပုံစံအပြောင်းအလဲနဲ့စစ်ဆင်ရေးလုပ်ဆောင်ပါ
// အခြားအပြောင်းအလဲနဲ့ယုတ္တိဗေဒ...
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
die('Invalid token');
}
}
?>
ဤကုဒ်တွင်တောင်းဆိုမှုသည်စာမူတွင်တင်ထားကြောင်းကိုပထမ ဦး စွာစစ်ဆေးပြီးပုံစံတွင်တင်ပြထားသောတိုကင်သည်သင်ခန်းစာတွင်အမှတ်အသားနှင့်ကိုက်ညီကြောင်းအတည်ပြုပါ။ တောင်းဆိုမှုတစ်ခုစီပြီးနောက်တိုကင်အသစ်တစ်ခုကိုထုတ်ပေးသောတိုက်ခိုက်မှုများကိုထိရောက်စွာရှောင်ရှားသည်။
PHP ဝက်ဘ်ဆိုက်များရှိယုတ္တိဗေဒဆိုင်ရာအားနည်းချက်များရှာဖွေတွေ့ရှိရန်မလွယ်ကူသော်လည်း၎င်းတို့၏အလားအလာလုံခြုံရေးခြိမ်းခြောက်မှုများသည်အလွန်အမင်းလေးနက်သည်။ developer များကတင်းကျပ်သောခွင့်ပြုချက်ထိန်းချုပ်မှုထိန်းချုပ်ခြင်း, မှန်ကန်သောကုဒ်အလေ့အကျင့်ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့် 0 က်ဘ်ဆိုက်၏လုံခြုံရေးကိုသိသိသာသာတိုးတက်လာပြီးအသုံးပြုသူအချက်အလက်များကိုခြိမ်းခြောက်ခြင်းမရှိပါ။