အသုံးများသော server-side side side side scripting language တစ်ခုအနေဖြင့် PHP သည်အင်တာနက်နည်းပညာဖွံ့ဖြိုးတိုးတက်မှုနှင့်လျှောက်လွှာများတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။ PHP သည်ပြောင်းလွယ်ပြင်လွယ်ရှိပြီးလွယ်ကူသော်လည်းလုံခြုံရေးအန္တရာယ်များလည်းဖြစ်နိုင်သည်။ ဤဆောင်းပါးသည် PHP လုံခြုံရေးအမှားအယွင်းများကိုမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုအာရုံစိုက်ပြီးလျှောက်လွှာလုံခြုံရေးကိုတိုးတက်စေရန်ဆက်စပ်သောအမှားအစီရင်ခံစာများကိုအာရုံစိုက်မည်။
သုံးစွဲသူများမှထည့်သွင်းထားသောအချက်အလက်များသည် SQL Injection Attack (XSS) စသည်ဖြင့်လုံခြုံရေးပြ problems နာများဖြစ်သည်။
SQL Injection သည်အသုံးအများဆုံးတိုက်ခိုက်မှုနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန် `mySqli_real_real_escape_String () PHP ရှိ` function ကိုအသုံးပြုသူ input ကို filter လုပ်ရန်အသုံးပြုနိုင်သည်။
<?php // ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ $conn = mysqli_connect("localhost", "root", "password", "dbname"); <p>// filter အသုံးပြုသူ input ကို<br> $ username = mySQLI_REAL_Sester_String ($ con), $ _post ['username']);<br> $ password = mysqli_real_esal_Sescape_String ($ con _post ['password']);</p> <p>// SQL စုံစမ်းမှုကြေညာချက်ကို execute<br> $ sql = "အသုံးပြုသူအမည် = '$ username' နှင့် password = '$ password' ကိုအသုံးပြုသောအသုံးပြုသူများမှ" "" "" Select * Select *;<br> $ ရလဒ် = MySQLI_QUEERY ($ CON, $ SQL);<br> ><br>
Cross-site scripting တိုက်ခိုက်မှု (XSS) သည်ဝက်ဘ်စာမျက်နှာတစ်ခုမှတဆင့်အန္တရာယ်ရှိသော scripts များကိုထည့်သွင်းရန်တိုက်ခိုက်သူကိုရည်ညွှန်းသည်။ XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အသုံးပြုသူမှထည့်သွင်းထားသောအချက်အလက်များကို filter လုပ်ရန် php တွင် `htmlspecialchars () function ကိုသုံးနိုင်သည်။
<?php // အသုံးပြုသူ input ကို filter $username = htmlspecialchars($_POST['username']); $password = htmlspecialchars($_POST['password']); ?>
PHP သည်အမှားအယွင်းများနှင့်မှတ်တမ်းမှတ်မှတ်တမ်းများကိုထုတ်လုပ်ရန်နည်းလမ်းအမျိုးမျိုးကိုဖော်ပြရန်နည်းလမ်းများပေးသည်။
PHP Development ပတ်ဝန်းကျင်တွင် `php.ini` ဖိုင်ကိုပြုပြင်ခြင်းဖြင့်အမှားအယွင်းများကိုဖွင့်နိုင်သည်။ ဤတွင်ဘုံ configuration ဥပမာများဒီမှာ -
error_reporting = e_All display_Ersors = အပေါ်
ဤနည်းအားဖြင့်အမှားအယွင်းများအားလုံး (ဆိုးဝါးသောအမှားအယွင်းများ, သတိပေးချက်များနှင့်အချက်များအပါအ 0 င်) ကိုစာမျက်နှာပေါ်တွင်ဖော်ပြလိမ့်မည်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်လုံခြုံစိတ်ချမှုများကိုတိုးမြှင့်ပေးရန်နှင့်အလားအလာရှိသောအန္တရာယ်များကိုလျှော့ချရန်ကျွန်ုပ်တို့သည်အမှားအယွင်းများကိုသာပြသနိုင်ပြီး log file သို့အခြားအမှားများကိုမှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုသတ်မှတ်လေ့ရှိသည်။
error_reporting = e_All & ~ e_deprecated & ~ e_notice & _notice display_Errors = off
အမှားအယွင်းများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်ဖြေရှင်းရန်နှင့်ကိုင်တွယ်နိုင်ရန် PHP အမှားမှတ်တမ်းများကိုသတ်မှတ်ထားသောဖိုင်ထဲသို့ဝင်ရောက်နိုင်သည်။ `php.ini` ဖိုင်ကိုအောက်ပါအတိုင်းပြုပြင်မွမ်းမံပါ -
log_errors = အပေါ် error_log = / wather/erto/error.log
ခြွင်းချက်ကိုင်တွယ်ခြင်းသည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်။ အဆင့်မြင့်အမှားကိုင်တွယ်သည့်ယန္တရားတစ်ခုဖြစ်သည်။ Try-catch block ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှားအယွင်းများကိုထိရောက်စွာဖမ်းယူနိုင်ပြီးကိုင်တွယ်ဖြေရှင်းနိုင်ခြင်းနှင့်သင့်လျော်သောလုံခြုံရေးအစီအမံများအသုံးပြုခြင်းကိုရှောင်ရှားနိုင်သည်။
<?php try { // ခြွင်းချက်များပစ်နိုင်သည့်အချို့သောကုဒ် } catch (Exception $e) { // ခြွင်းချက်ကိုင်တွယ် code ကို } ?>
ခြွင်းချက်ကိုင်တွယ်သူသည် developer များပိုမိုကောင်းမွန်သောထိန်းချုပ်မှုအမှားများကိုကူညီနိုင်ပြီးတိုက်ခိုက်သူများနှင့်ထိတွေ့ခံထားရသောသတင်းအချက်အလက်များကိုရှောင်ရှားနိုင်သည်။
အသုံးပြုသူ input ကိုထိရောက်စွာစစ်ထုတ်ခြင်း, အမှားအယွင်းများရေးဆွဲခြင်းနှင့်သစ်ထုတ်လုပ်ခြင်းကိုအသုံးပြုခြင်းဖြင့် developer များသည် PHP application များ၏လုံခြုံရေးကိုသိသိသာသာတိုးတက်စေပြီး SQL Injections နှင့် XSS Injections ကဲ့သို့သောလုံခြုံရေးအန္တရာယ်များကိုကာကွယ်နိုင်သည်။ ဤလုံခြုံရေးအမှားကိုင်တွယ်ကျွမ်းကျင်မှုကျွမ်းကျင်မှုကျွမ်းကျင်မှုများကျွမ်းကျင်မှုသည် PHP developer များပိုင်ဆိုင်ထားသည့်အရေးကြီးသောကျွမ်းကျင်မှုဖြစ်သည်။