အင်တာနက်အလျင်အမြန်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူဝက်ဘ်ဆိုက်လုံခြုံရေးပြ issues နာများသည်ပိုမိုအရေးကြီးလာသည်။ အင်တာနက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောဘာသာစကားတစ်ခုအနေဖြင့် PHP code ၏လုံခြုံရေးစာရင်းသည်အထူးအရေးကြီးသည်။ ဤဆောင်းပါးသည် PHP code ၏အဓိကနည်းပညာများကိုမိတ်ဆက်ပေးပြီး developer များက Code Security ကိုတိုးတက်စေရန်အတွက်လက်တွေ့ကျသောကိရိယာများကိုမိတ်ဆက်ပေးလိမ့်မည်။
PHP ကုဒ်စာရင်းစစ်ဆေးခြင်းတွင်အထိခိုက်မခံသောလုပ်ဆောင်မှုများကိုအာရုံစိုက်ရန်အလွန်အရေးကြီးသည်။ ဥပမာအားဖြင့်, () function သည် dynamically passed code ကို execute လုပ်နိုင်သည်, ၎င်းသည်ကြီးမားသောလုံခြုံရေးအန္တရာယ်များကိုဖြစ်ပေါ်စေသည်။ အလားတူလုပ်ဆောင်ချက်များတွင် system (), exec () စသဖြင့်ဤလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းအားဖြင့်အလားအလာရှိသောအန္တရာယ်များကိုလျင်မြန်စွာဖော်ထုတ်နိုင်ပါသည်။
$code = $_POST['code'];
eval($code);
input filtering သည် SQL Injection နှင့် XSS တိုက်ခိုက်မှုများကဲ့သို့သောအားနည်းချက်များကိုကာကွယ်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ အသုံးပြုသူ၏ပံ့ပိုးမှု၏လုံခြုံရေးကိုသေချာစေရန် HTML tags များ,
$name = $_GET['name'];
$name = strip_tags($name); // စိမ့်ထွက်HTMLကပ်တံဆိပ်
ပြီးပြည့်စုံသောအမှားကိုင်တွယ်သည့်ယန္တရားသည်စနစ်၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုကိုတိုးတက်စေနိုင်သည်။ အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်မှုများကိုရှောင်ရှားရန်အမှားသတင်းအချက်အလက်များ၏ output ကိုပိတ်ဆို့ရန်နှင့်ခြွင်းချက်များကိုကျိုးကြောင်းဆီလျော်စွာဖမ်းယူခြင်းနှင့်ကိုင်တွယ်ရန်အကြံပြုသည်။
error_reporting(0); // အမှားမက်ဆေ့ခ်ျများ၏ output ကိုပိတ်ဆို့
ဖိုင်တင်ခြင်းလုပ်ဆောင်ချက်ကိုအလွယ်တကူပစ်မှတ်ထားနိုင်ပြီးစာရင်းစစ်စဉ်အတွင်း upload လမ်းကြောင်း, ဖိုင်အမျိုးအစားနှင့်အရွယ်အစားကန့်သတ်ချက်များကိုဂရုပြုရန်လိုအပ်သည်။ Directory Traversal ကိုကာကွယ်ခြင်း, directory traversal ကိုတားဆီးခြင်း,
$allowedTypes = array('jpg', 'png');
$uploadFile = $_FILES['file'];
$extension = strtolower(pathinfo($uploadFile['name'], PATHINFO_EXTENSION));
if (in_array($extension, $allowedTypes)) {
move_uploaded_file($uploadFile['tmp_name'], 'uploads/' . $uploadFile['name']);
}
RIPS သည် PHP Code လုံခြုံရေးစာရင်းစစ်ကိုအာရုံစိုက်သော open source tool တစ်ခုဖြစ်သည်။ ၎င်းသည်ငြိမ်ဆန်းစစ်ခြင်းမှတစ်ဆင့်လုံခြုံရေးအားနည်းချက်များကို code တွင် code တွင်ရှာဖွေတွေ့ရှိနိုင်ပြီး developer များလုံခြုံရေးပြ issues နာများကိုလျင်မြန်စွာရှာဖွေရန်ကူညီရန်အသေးစိတ်ပြင်ဆင်ချက်အကြံပြုချက်များကိုပေးနိုင်သည်။
php_codesniffer သည် Code အရည်အသွေးစစ်ဆေးခြင်းအတွက်အသုံးပြုသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ကုဒ်ပုံစံစံသတ်မှတ်ချက်ကိုထောက်ပံ့ပေးပြီးအလားအလာရှိသောလုံခြုံမှုအန္တရာယ်များကိုရှာဖွေတွေ့ရှိနိုင်သည်။ စည်းမျဉ်းစည်းကမ်းများကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့်အဖွဲ့များသည်ကုဒ်လုံခြုံရေးကိုထိထိရောက်ရောက်ထိန်းသိမ်းနိုင်သည်။
Onasp (open web application security စီမံကိန်း) သည် developer များအသုံးပြုသူများကိုဖော်ထုတ်ရန်နှင့်ဘုံဝက်ဘ်လျှောက်လွှာလုံခြုံရေးအန္တရာယ်များကိုကာကွယ်ရန်နှင့်ကာကွယ်ရန်လုံခြုံရေးအရင်းအမြစ်များနှင့်ကိရိယာများကိုထောက်ပံ့ပေးသည်။ ၎င်း၏ထိပ်တန်းစီမံကိန်း 10 ခုသည် PHP လုံခြုံရေးစာရင်းစစ်ဆေးမှုများအတွက်အထူးတန်ဖိုးရှိသည်။
PHP Code စာရင်းစစ်စာရင်းသည် 0 က်ဘ်ဆိုက်လုံခြုံရေးအတွက်အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။ အထိခိုက်မခံသော function ကို scanning မှတဆင့် input filtering, အမှားကိုင်တွယ်ခြင်းနှင့်ဖိုင်တင်ခြင်းလုံခြုံရေးနည်းပညာများကို RIPS, php_codesniffer, ဤနည်းပညာများနှင့်ကိရိယာများကိုစဉ်ဆက်မပြတ်လေ့လာခြင်းနှင့်အသုံးချခြင်းသည်ဝက်ဘ်ဆိုက်လုံခြုံရေးကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။