လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP function security ကိုတိုးတက်စေရန်လမ်းညွှန် - SQL Injection နှင့် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ခြင်း

PHP function security ကိုတိုးတက်စေရန်လမ်းညွှန် - SQL Injection နှင့် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ခြင်း

M66 2025-10-20

PHP function ကိုလုံခြုံရေးဆိုင်ရာတိုးတက်မှုလမ်းညွှန်

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်လုပ်ဆောင်ချက်များ၏လုံခြုံမှုကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် developer များပိုမိုလုံခြုံ။ စိတ်ချရသော PHP code ကိုရေးရန်ကူညီရန်အဓိကတိုးတက်မှုအချို့ကိုမိတ်ဆက်ပေးလိမ့်မည်။

အမျိုးအစားအရိပ်အမြွက်ကိုသုံးပါ

Type အရိပ်အမြွက်ပြောကြားခြင်းအရိပ်အမြွက်များသည် function တစ်ခုထဲသို့ဖြတ်သန်းသွားသော parameters များကိုသေချာစေရန်သေချာသည်။

 function add($a, $b): int
{
    return $a + $b;
}

// ဖြစ်စေမည် TypeError ထူးခြားသော
add('1', 2);

SQL ဆေးထိုးအားနည်းချက်များကိုဖယ်ရှားပါ

SQL Injection သည်ဘုံလုံခြုံရေးပြ issue နာဖြစ်ပြီးတိုက်ခိုက်သူများသည်အန္တရာယ်ရှိသော SQL ထုတ်ပြန်ချက်များထိုးသွင်းခြင်းဖြင့်အထိခိုက်မခံသောအချက်အလက်များကိုရယူနိုင်သည်။ Parameterized မေးမြန်းချက်များကိုအသုံးပြုခြင်းသည် SQL ဆေးထိုးခြင်းကိုထိရောက်စွာတားဆီးနိုင်သည်။

 $statement = $conn->prepare("SELECT * FROM users WHERE username = ?");
$statement->bind_param("s", $username);

Cross-site scripting (XSS) တိုက်ခိုက်မှုတားဆီး

XSS တိုက်ခိုက်မှုများကိုပုံမှန်အားဖြင့်ဝက်ဘ်စာမျက်နှာသို့အန္တရာယ်ရှိသော script ကိုထိုးသွင်းခြင်းဖြင့်ဖျော်ဖြေသည်။ အသုံးပြုသူအချက်အလက်များကိုလုံခြုံစွာထုတ်လွှင့ ်. script လုပ်ဆောင်မှုကိုရှောင်ရှားရန် HTML encoding ကိုသုံးပါ။

 function echoHtml($html)
{
    echo htmlspecialchars($html);
}

အသုံးပြုသူ input ကို validate

အသုံးပြုသူ input တွင်အန္တရာယ်ရှိသောကုဒ်သို့မဟုတ်အခြားတိုက်ခိုက်မှု virusers များပါ 0 င်နိုင်သည်။ တရားမ 0 င်အချက်အလက်များကိုစနစ်သို့ 0 င်ရောက်ခြင်းကိုကာကွယ်ရန်မသုံးမီတင်းကြပ်စွာစစ်ဆေးမှုပြုလုပ်သင့်သည်။

 if (!preg_match('/^[a-zA-Z0-9]+$/', $input)) {
    throw new InvalidArgumentException();
}

လုံခြုံစာကြည့်တိုက်များကိုသုံးပါ

PHP သည် Passwordhash, Crypto စသည်ဖြင့် securepress, crypto စသည်တို့ကဲ့သို့သောလုံခြုံရေးစာကြည့်တိုက်အမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ၎င်းသည် Hash တန်ဖိုးများကိုလုံခြုံစွာထုတ်ပေးရန်နှင့်စာဝှက်ဖြည်ရန်အသုံးပြုနိုင်သည်။

 $hash = password_hash($password, PASSWORD_DEFAULT);

လက်တွေ့အမှုကို: function လုံခြုံရေးတိုးမြှင့်ခြင်း

သင့်တွင်အသုံးပြုသူထည့်သွင်းမှုများကိုပြုလုပ်ပြီး SQL ကြေငြာချက်တစ်ခုပြုလုပ်သော function တစ်ခုရှိသည်ဆိုပါစို့။

 function generateSql($id)
{
    return "SELECT * FROM users WHERE id = $id";
}

လုံခြုံရေးတိုးတက်စေရန်အောက်ပါတိုးတက်မှုများကိုပြုလုပ်နိုင်သည်။

  • $ ID ကိုသေချာစေရန်အမျိုးအစားအရိပ်အမြွက်များကိုသုံးပါ
  • SQL Injection ကိုကာကွယ်ရန် Parameterized မေးမြန်းချက်များကိုသုံးပါ
 function generateSql($id): string
{
    $statement = $conn->prepare("SELECT * FROM users WHERE id = ?");
    $statement->bind_param("i", $id);
    
    return $statement;
}

ဤအစီအမံများမှတဆင့် PHP လုပ်ဆောင်ချက်များ၏လုံခြုံရေးကိုသိသိသာသာတိုးတက်စေပြီးလျှောက်လွှာတိုက်ခိုက်မှုအန္တရာယ်များကိုလျှော့ချနိုင်သည်။

မကြာသေးမီ ဆောင်းပါးများ