လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Crypt () Crypt () ကိုတိုးတက်စေရန် Crypt () နှင့် တွဲဖက်. filter_input () function မှတဆင့်အသုံးပြုသူ input ကိုမည်သို့လုပ်ဆောင်ရမည်နည်း။

Crypt () Crypt () ကိုတိုးတက်စေရန် Crypt () နှင့် တွဲဖက်. filter_input () function မှတဆင့်အသုံးပြုသူ input ကိုမည်သို့လုပ်ဆောင်ရမည်နည်း။

M66 2025-05-22

Web Development တွင်အသုံးပြုသူ input သည်အသုံးအများဆုံးနှင့်အလွယ်တကူတိုက်ခိုက်ခံရသော 0 င်ရောက်မှုဖြစ်သည်။ အသုံးပြုသူ input ကိုရေးဆွဲခြင်း၏လုံခြုံရေးကိုတိုးတက်စေရန် PHP သည်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးနိုင် သည် ဤဆောင်းပါးသည် XSS (Cross-site scripting attaching attaching) နှင့်စကားဝှက်ယိုစိမ့်မှုကဲ့သို့သောဘုံတိုက်ခိုက်မှုနည်းစနစ်များကိုထိရောက်စွာတားဆီးရန်ဤဆောင်းပါးနှစ်ခုကိုပေါင်းစပ်။ မိတ်ဆက်ပေးလိမ့်မည်။

1 ။ Pression_input ကိုမိတ်ဆက် ()

filter_input () သည် PHP တွင်ပါ 0 င်သည့် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ သုံးစွဲသူများမှတင်ပြသောအချက်အလက်များကိုအသုံးပြုသူများကတင်သွင်းသောအချက်အလက်များကို application logic layer ထဲသို့ 0 င်ရောက်ခြင်းမှကာကွယ်ရန်တားဆီးနိုင်သည်။ ဥပမာအားဖြင့်:

 $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);

ဤကုဒ်နံပါတ်၏ရည်ရွယ်ချက်မှာ post မှ Username parameters များကိုရယူရန်နှင့် cross-site scripting တိုက်ခိုက်မှုများကိုကာကွယ်ရန် HTML tags များနှင့်အထူးအက္ခရာများကိုဖယ်ရှားရန်ဖြစ်သည်။

2 ။ crypt ၏စာဝှက်ခြင်းစွမ်းရည်

အသုံးပြုသူစကားဝှက်များကိုလုံခြုံသောသိုလှောင်မှုသည် developer များအလေးအနက်ထားရမည့်ပြ issue နာတစ်ခုဖြစ်သည်။ PHP မှပေးသော crypt () function သည် encryption algorithms အမျိုးမျိုးနှင့် blowfish algorithm ကိုထောက်ပံ့သည် စာဝှက်ထားတဲ့စကားဝှက်ကအက်ကွဲဖို့အခက်တွေ့နေတယ်။ ဒေတာဘေ့စ်ပေါက်ကြားနေရင်တောင်တိုက်ခိုက်သူကမူလစကားဝှက်ကိုအလွယ်တကူမပြန်နိုင်ဘူး။

ဥပမာအသုံးပြုမှု:

 $salt = '$2y$10$' . substr(str_replace('+', '.', base64_encode(random_bytes(22))), 0, 22);
$hashedPassword = crypt($password, $salt);

အသုံးပြုသူတစ် ဦး ချင်းစီ၏စကားဝှက်သည်အတူတူပင်ဖြစ်ပါကပင်ထုတ်လုပ်သော Ciphertext နှင့်ကွဲပြားခြားနားကြောင်းသေချာစေရန် Mander_bytes () ကို ကျပန်းကျပန်း string ကိုထုတ်လုပ်ရန်အသုံးပြုသည်။

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

filter_input () နှင့် crypt () ကိုအသုံးပြုခြင်းသည်လုံခြုံသောဒေတာအပြောင်းအလဲလုပ်ငန်းစဉ်ကိုတည်ဆောက်နိုင်သည်။

  1. XSS နှင့် Code ဆေးထိုးခြင်းကိုကာကွယ်ရန်အသုံးပြုသူထည့်ပါ။

  2. ထို့နောက် စာဝှက်ရန် စကားဝှက်ကိုစာဝှက်ရန်နှင့်စကားဝှက်ကိုစာဝှက်ရန်အသုံးပြုပါ။

  3. နောက်ဆုံးအနေဖြင့်စာဝှက်ထားသောစကားဝှက်နှင့်အသုံးပြုသူအမည်များကိုသာဒေတာဘေ့စ်တွင်သိမ်းထားသည်။

ဤလုပ်ဆောင်မှုဖြစ်စဉ်သည်ဘုံဝက်ဘ်တိုက်ခိုက်မှုများကိုထိရောက်စွာကာကွယ်နိုင်ပြီး 0 က်ဘ်ဆိုက်အတွက်ခိုင်မာသောလုံခြုံရေးဖောင်ဒေးရှင်းတစ်ခုဖြစ်နိုင်သည်။

4 ။ စကားဝှက်များကိုအတည်ပြုရန်နည်းလမ်းများ

0 င်ရောက်သောအခါသင် Crypt () ကို ဒေတာဘေ့စ်တွင်စာဝှက်ထားသောစကားဝှက်ဖြင့်တင်ပြထားသောစကားဝှက်ကိုနှိုင်းယှဉ်ရန်သာလိုအပ်သည်။

 $inputPassword = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
$storedHash = 'ဒေတာဘေ့စ်မှယူထားသောစကားဝှက် hash တန်ဖိုး';

if (crypt($inputPassword, $storedHash) === $storedHash) {
    echo "စကားဝှက်စစ်ဆေးမှုအတည်ပြု";
} else {
    echo "စကားဝှက်";
}

ဤအတည်ပြုနည်းနည်းလမ်းသည်လုံခြုံပြီးစံသတ်မှတ်ချက်ဖြစ်ပြီး plaintext သို့စကားဝှက်ကိုပြန်လည်ရယူရန်မလိုအပ်ပါ။

5 ။ အကျဉ်းချုပ်

filter_input () နှင့် crypt ကို ပေါင်းစပ်ခြင်းအားဖြင့်ဝက်ဘ်ဆိုက်၏အသုံးပြုသူ input ကိုအပြောင်းအလဲအတွက်လုံခြုံရေးကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ filter_input () သည်အန္တရာယ်ရှိသောသွင်းအားစုကိုကာကွယ်ရန် filtering အတွက်တာ 0 န်ရှိသည်။ crypt () စကားဝှက်ယိုစိမ့်မှုကိုကာကွယ်ရန် encryption အတွက်တာဝန်ရှိသည်။ လုံခြုံသော login system တစ်ခုတည်ဆောက်ခြင်းနှင့်အသုံးပြုသူစီမံခန့်ခွဲမှုစနစ်တည်ဆောက်သည့်အခါဤလုပ်ဆောင်ချက်နှစ်ခုသည်မရှိမဖြစ်လိုအပ်သည်။ developer များသည်အသုံးပြုသူများနှင့်စနစ်၏လုံခြုံမှုကိုကာကွယ်ရန်ဤလုပ်ဆောင်မှုများကို အသုံးပြု. အလေ့အကျင့်ကောင်းများကိုတီထွင်သင့်သည်။