PHP ပရိုဂရမ်တွင် Bindec () function သည် binary strings များကိုဒ decimal မကိန်းများသို့ပြောင်းလဲရန်အလွန်ရိုးရှင်းသောကိရိယာတစ်ခုဖြစ်သည်။ ခွင့်ပြုချက်အမှတ်အသားများ, configuration bitmaps သို့မဟုတ်အချို့သော network protocols များကိုကိုင်တွယ်ရာတွင်ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည်အလွန်များသောအားဖြင့်ဖြစ်သည်။ သို့သော်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်အသုံးပြုသူ input အချက်အလက်များနှင့်ပတ်သက်လာလျှင် developer များကမကြာခဏမေးလေ့ရှိသည် - can bindec () သည် ဤအချက်အလက်များကိုလုံခြုံစွာနှင့်ထိရောက်စွာလုပ်ဆောင်နိုင်ပါသလား။ ဤဆောင်းပါးသည်၎င်းကိုကဏ် functions သုံးမျိုးမှခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည် - function ဝိသေသလက္ခဏာများ, အန္တရာယ်ကင်းရှင်းရေးဆိုင်ရာအန္တရာယ်များနှင့်လက်တွေ့ကျသောအကြံပြုချက်များ။
Bindec ၏ syntax () သည်အလွန်ရိုးရှင်းပါသည်။
$decimal = bindec("1010");
echo $decimal; // ထုတ်လုပ်ခြင်း 10
၎င်းသည် string parameter ကိုလက်ခံပြီး string သည် 0 နှင့် 1 ပါ 0 င်သည့် binary number ဟုခေါ်သည်။
Bindec () သည်စင်ကြယ်သောအသွင်ကူးပြောင်းမှု function ဖြစ်သော်လည်း SQL Injection နှင့် XSS ကဲ့သို့သောသာမန်လုံခြုံရေးပြ problems နာများဖြစ်စေသည်မဟုတ်သော်လည်း SQL Injection နှင့် XSS ကဲ့သို့သောလုံလောက်သောလုံခြုံရေးပြ problems နာများကိုမဖြစ်စေနိုင်ပါ။ ဆိုလိုသည်မှာအသုံးပြုသူပုံစံရှိအကြောင်းအရာကို Bindec သို့တိုက်ရိုက်သွားလျှင်၎င်းသည်ယုတ္တိအမှားများသို့မဟုတ်လုံခြုံရေးအန္တရာယ်များကိုပင်ဖြစ်ပေါ်စေနိုင်သည်ဟုဆိုလိုသည်။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့ဤကဲ့သို့သောကုဒ်အပိုင်းအစတစ်ခုရှိသည်ဆိုပါစို့။
$binary_input = $_POST['binary'];
$decimal_output = bindec($binary_input);
အသုံးပြုသူများသည်အောက်ပါ input ကိုတင်ပြနိုင်သည်။
binary=1010abc<script>
Bindec () သည် တရား 0 င် 0 င် သို့ 0 င် ရောက်. တရား 0 င်လက်ဝဲမှညာသို့ရောက်ရှိပြီးတရားမ 0 င်သောဇာတ်ကောင်များကြုံတွေ့ရပြီးနောက်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရပ်တန့်သွားမည်ဖြစ်သော်လည်းအမှားတစ်ခုကြုံတွေ့ရလိမ့်မည်မဟုတ်သော်လည်းမှန်ကန်သောခွဲခြမ်းစိတ်ဖြာမှု၏တစ်စိတ်တစ်ပိုင်းကိုတိတ်ဆိတ်စွာပြန်ပို့လိမ့်မည်မဟုတ်ပါ။ ဤအပြုအမူသည်အချို့သောစီးပွားရေးယုတ္တိဗေဒဆိုင်ရာပြ problems နာများဖြစ်စေနိုင်သည်။
ဥပမာအားဖြင့်:
$flag = bindec("10001foo"); // အမှန်တကယ်ပြန်လာသည်17,မျှော်လင့်ထားသည့်တန်ဖိုး
ဤသည်သိသာထင်ရှားတဲ့ developer ကြည့်ချင်တဲ့ရလဒ်မဟုတ်ပါဘူး။
Bindec ၏လုံခြုံရေးနှင့်ယုံကြည်စိတ်ချရမှုရှိစေရန် () အသုံးပြုသူပုံစံဒေတာကိုလက်ခံရရှိသည့်အခါ developer များအောက်ပါအဆင့်များကိုလိုက်နာသင့်သည် -
ပုံမှန်စိစစ်အတည်ပြု <br> <br> Bindec () မခေါ်မီအသုံးပြုသူ input ကိုသာ 0 နှင့် 1 သာပါ 0 င်ကြောင်းအတည်ပြုရန်ပုံမှန်စကားရပ်ကိုအသုံးပြုသင့်သည်။
if (preg_match('/^[01]+$/', $_POST['binary'])) {
$decimal = bindec($_POST['binary']);
} else {
echo "input ပုံစံအမှား。";
}
input ကိုအရှည်ကန့်သတ်ထားပါ သုံးစွဲသူများအားရှည်လျားသောကြိုးများတင်ခြင်းသည်စွမ်းဆောင်ရည်ပြ problems နာများသို့မဟုတ်ကိန်းပြည့်လျှံနေသောစွမ်းဆောင်ရည်ပြ problems နာများဖြစ်ပေါ်စေသည်။
if (strlen($_POST['binary']) > 32) {
echo "input ကိုကြာမြင့်စွာ。";
exit;
}
အမျိုးအစားပြောင်းလဲခြင်းပြီးနောက်အလယ်တန်းစိစစ်အတည်ပြု <br> ပြောင်းလဲထားသောဒ decimal မကိန်းသည် System Permissions သို့မဟုတ် data access beactions ကိုအကျိုးသက်ရောက်ပါကရလဒ်များကို အခြေခံ. အဖြူရောင်ဝါဒီများသတ်မှတ်ရန်အကြံပြုသည်။
အသံသွင်းခြင်းနှင့်စာရင်းစစ် <br> စာရင်းစစ်ခြင်းနှင့်ပြ problem နာစုံစမ်းစစ်ဆေးမှုကိုလွယ်ကူချောမွေ့စေရန်အသုံးပြုသူများမှတင်ပြသော binary data နှင့်ပြောင်းလဲခြင်းရလဒ်များကိုမှတ်တမ်းတင်ပါ။
ခွင့်ပြုချက်နည်းနည်းထိန်းချုပ်မှုအပေါ်အခြေခံပြီးစနစ်တစ်ခုကိုယူပြီးဥပမာတစ်ခုအနေဖြင့်အသုံးပြုသူသည်ခွင့်ပြုချက်အလံများကိုပုံစံဖြင့်တင်ပြသည်။
<form method="POST" action="https://m66.net/permissions.php">
<input type="text" name="perm" placeholder="binary ခွင့်ပြုချက်ကုဒ်ရိုက်ထည့်ပါ">
<input type="submit" value="နားထောင်">
</form>
အပြောင်းအလဲနဲ့ backend:
$perm = $_POST['perm'];
if (preg_match('/^[01]{1,8}$/', $perm)) {
$perm_value = bindec($perm);
// ခွင့်ပြုချက်တန်ဖိုးများအရသုံးစွဲသူအခန်းကဏ် set ကိုထပ်မံသတ်မှတ်ပါ
} else {
echo "တရားမဝင်ခွင့်ပြုချက်ကုဒ် input ကို。";
}
အထက်ပါအတည်ပြုချက်ဖြင့်စနစ်သည်အလားအလာရှိသောလုံခြုံရေးအန္တရာယ်များကိုပြောင်းလဲခြင်းနှင့်အရှည်ရှိသည့် binary data များကိုသာ ပြောင်းလဲ. ပြုပြင်မွမ်းမံခြင်း,
Bindec () သည်လုံခြုံစိတ်ချရသောလုံခြုံမှုရှိပြီး၎င်းသည် input ကိုမလုပ်ဆောင်နိုင်ပါ။ သို့သော်အချက်အလက်များကိုလုပ်ဆောင်သည့်အခါ၎င်းသည်စိစစ်မှုယန္တရားမရှိသလောက်ဖြစ်သည်။ ထို့ကြောင့်, သုံးစွဲသူများပုံစံဒေတာများကိုထုတ်ယူသောအခါ developer များသည် bindec () အသုံးပြုခြင်းသည်စီးပွားရေးလိုအပ်ချက်များနှင့်အညီလုံခြုံမှုရှိစေရန် input ကိုအပြည့်အဝစစ်ဆေးရမည်။ အခြား PHP လုပ်ဆောင်ချက်များကိုကိုင်တွယ်ခြင်းကဲ့သို့ပင်မှန်ကန်သောအသုံးပြုမှုနှင့်ခုခံကာကွယ်သည့်ပရိုဂရမ်းမင်းများသည်လုံခြုံစိတ်ချရသောဖွံ့ဖြိုးတိုးတက်မှုအတွက်အခြေခံကျသောနည်းလမ်းများဖြစ်သည်။