လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP လုပ်ဆောင်ချက်များကိုရှာဖွေတွေ့ရှိခြင်းနှင့်အသုံးပြုသူထည့်သွင်းခြင်းများကိုရှာဖွေရန်နှင့်စစ်ထုတ်ရန်လက်တွေ့လမ်းညွှန်

PHP လုပ်ဆောင်ချက်များကိုရှာဖွေတွေ့ရှိခြင်းနှင့်အသုံးပြုသူထည့်သွင်းခြင်းများကိုရှာဖွေရန်နှင့်စစ်ထုတ်ရန်လက်တွေ့လမ်းညွှန်

M66 2025-06-07

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

0 က်ဘ်ဆိုက်များသို့မဟုတ်အသုံးချပရိုဂရမ်များကိုတီထွင်သောအခါသုံးစွဲသူများမှထည့်သွင်းထားသောအချက်အလက်များသည်မလွှဲမရှောင်သာဖြစ်သည်။ သို့သော်မရှိသေးသော input တွင်အန္တရာယ်ရှိသော script များသို့မဟုတ်အထူးအက္ခရာများပါ 0 င်နိုင်သည်။ ဝက်ဘ်ဆိုက်လုံခြုံရေးကိုခြိမ်းခြောက်မှုဖြစ်စေနိုင်သည်။ ဒေတာလုံခြုံရေးကိုသေချာစေရန်သင့်တော်သော PHP လုပ်ဆောင်ချက်များကိုအသုံးပြုသူထည့်သွင်းမှုများကိုစစ်ဆေးရန်နှင့် filter လုပ်ရန်အသုံးပြုရမည်။

1 ။ အသုံးပြုသူထည့်သွင်းမှု၏တရားဝင်မှုကို detect လုပ်ပါ

အသုံးပြုသူအချက်အလက်များကိုမလုပ်ဆောင်မီ, inputs inputs တည်ရှိပြီးမျှော်လင့်ထားသည့်ပုံစံနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ပါ။ များသောအားဖြင့်အသုံးပြုသောထောက်လှမ်းရေးလုပ်ငန်းများပါဝင်သည်:

  • isiveret () : variable ကိုသတ်မှတ်ထားခြင်းရှိမရှိကိုရှာဖွေတွေ့ရှိသည်။
  • ဗလာ () - variable ကိုဗလာရှိမရှိစစ်ဆေးပါ။ ၎င်းကို trim () ရှေ့နှင့်နောက်နေရာများကိုဖယ်ရှားရန် trim () နှင့်ပေါင်းစပ်လေ့ရှိသည်။
  • is_numeric () - variable သည်နံပါတ်ဟုတ်မဟုတ်ဆုံးဖြတ်သည်။

နမူနာကုဒ်:

 if (isset($_POST['username']) && !empty(trim($_POST['username']))) {
    $username = $_POST['username'];
    // အသုံးပြုသူအမည်တည်ရှိပြီးဗလာမဟုတ်ပါ,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
    // အသုံးပြုသူအမည်သည်ဗလာဖြစ်သည်,ချက်ချင်းအမှား
}
<p>if (isset($_POST['age']) && is_numeric($_POST['age'])) {<br>
$age = $_POST['age'];<br>
// အသက်ကနံပါတ်ဖြစ်ပါတယ်,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်<br>
} else {<br>
// အသက်သည်ဗလာသို့မဟုတ် format ချသည်,ချက်ချင်းအမှား<br>
}

2 ။ အန္တရာယ်ရှိတဲ့တိုက်ခိုက်မှုများကိုကာကွယ်ရန်သုံးစွဲသူထည့်သွင်းမှု

ရှာဖွေတွေ့ရှိမှုသည်မလုံလောက်ပါ။ သုံးစွဲသူထည့်သွင်းမှုသည် Cross-site scripting (XSS) နှင့်အခြားတိုက်ခိုက်မှုများကိုကာကွယ်ရန်စစ်ထုတ်ရန်လိုအပ်သည်။ များသောအားဖြင့်အသုံးပြုသော filtering လုပ်ဆောင်ချက်များကို:

  • htmlspecialchars () - HTML tags များကိုခွဲခြမ်းစိတ်ဖြာခြင်းမှကာကွယ်ရန် < , > နှင့် စသဖြင့်အထူးအက္ခရာများမှလွတ်မြောက်ရန်,
  • strip_tags () : stripss html နှင့် ppp tags tags ။
  • Filter_VAR () - စာတိုက်ပုံး format စစ်ဆေးခြင်းစသည့်အချက်အလက်များကိုစစ်ဆေးရန်နှင့်စစ်ထုတ်ရန်ထည့်သွင်းထားသောစစ်ထုတ်စက်များကိုပေါင်းစပ်ပါ။

နမူနာကုဒ်:

 $username = htmlspecialchars($_POST['username']); // အထူးအက္ခရာများမှလွတ်မြောက်ရန်
$bio = strip_tags($_POST['bio']); // ရေွှ့HTMLနှင့်PHPကပ်တံဆိပ်
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // မှန်ကန်သောအီးမေးလ်ပုံစံ,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
    // အီးမေးလ်ပုံစံမမှန်ကန်ပါ,ချက်ချင်းအမှား
}

3 ။ လုံခြုံစွာဒေတာဘေ့စ်မေးမြန်းချက်များကိုကိုင်တွယ်

ဒေတာဘေ့စ်စုံစမ်းမှုအတွက်အသုံးပြုသူထည့်သွင်းမှုအချက်အလက်များပြုလုပ်ပါက SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုကာကွယ်ရမည်။ ကြိုတင်သတ်မှတ်ထားသောထုတ်ပြန်ချက်များနှင့် binding parameters များကိုအသုံးပြုရန်အကြံပြုသည်။

 // ဒေတာဘေ့စ်ချိတ်ဆက်ကြောင်းယူဆ
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();

Preprocessing ထုတ်ပြန်ချက်များအားဖြင့်အသုံးပြုသူထည့်သွင်းမှုသည် SQL ထုတ်ပြန်ချက်များကိုတိုက်ရိုက်ထည့်သွင်းခြင်းမပြုပါ။

အကျဉ်းချုပ်

အသုံးပြုသူထည့်သောထည့်သွင်းမှုကိုအပြည့်အ 0 ယုံကြည်. မရပါ။ PHP မှပေးသောလုပ်ငန်းများကိုရှာဖွေခြင်းနှင့်စစ်ထုတ်ခြင်းလုပ်ဆောင်ချက်များသည်အချက်အလက်လုံခြုံရေးကိုသေချာစေရန်အတွက်တီထွင်ခြင်းနှင့်စစ်ထုတ်ခြင်းများကိုအသုံးပြုရမည်။ input endity ကိုကျိုးကြောင်းဆီလျော်သောရှာဖွေတွေ့ရှိခြင်း, အန္တရာယ်ရှိသောဇာတ်ကောင်များကိုစစ်ထုတ်ခြင်းနှင့်လုံခြုံသောဒေတာဘေ့စ်လုပ်ငန်းများကိုပေါင်းစပ်ခြင်းနှင့်လုံခြုံသောဒေတာဘေ့စ်စစ်ဆင်ရေးနည်းလမ်းများပေါင်းစပ်ခြင်းနှင့်အသုံးပြုသူသီးသန့်တည်ရှိမှုနှင့်ဒေတာလုံခြုံရေးကိုကာကွယ်နိုင်သည်။