PHP တွင် စကားဝှက် ဟက်ရှ်လုပ်ခြင်း
စကားဝှက်ကို ပွင့်လင်းသောပုံစံဖြင့် သိမ်းဆည်းခြင်းသည် မမှန်ကန်ပါ။ ဟက်ကာတစ်ဦးသည် သင့်၏ အချက်အလက်ဘေ့စ်ကို ဝင်ရောက်ခွင့်ရပြီး စကားဝှက်များကို ခိုးယူနိုင်သည်။
ထို့ကြောင့် ယေဘူရအားဖြင့် အကောင့်အမည်ကို ပွင့်လင်းသောပုံစံဖြင့် သိမ်းဆည်းပြီး
စကားဝှက်ကို အထူးလုပ်ဆောင်ချက်ဖြစ်သော
md5 ဖြင့် ဟက်ရှ်လုပ်လေ့ရှိသည်။
ထိုလုပ်ဆောင်ချက်သည် စကားဝှက်ကို ပါရာမီတာအဖြစ် လက်ခံပြီး
၎င်း၏ ဟက်ရှ် ကို ပြန်ပေးသည်။ ထိုဟက်ရှ်မှတစ်ဆင့် မူလစကားဝှက်ကို ပြန်လည်ရယူ၍ မရနိုင်ပါ။
ဥပမာအနေဖြင့် စာကြောင်းတစ်ခု၏ ဟက်ရှ်ကို ရှာကြည့်ကြပါစို့။
<?php
echo md5('12345'); // ရလဒ်အနေဖြင့် '827ccb0eea8a706c4c34a16891f84e7b' ကို ဖော်ပြမည်
?>
ယခုအခါ ကျွန်ုပ်တို့၏ မှတ်ပုံတင်ခြင်းနှင့် အကောင့်ဝင်ခြင်း စနစ်ကို ပြန်လည်ပြင်ဆင်ရန် လိုအပ်နေပါပြီ။ အစပိုင်းတွင် အသုံးပြုသူများဇယားကို ရှင်းလင်းရန် အကြံပြုလိုပါသည်။ အဘယ်ကြောင့်ဆိုသော် လက်ရှိတွင် စကားဝှက်များကို ပွင့်လင်းသောပုံစံဖြင့် သိမ်းဆည်းထားပြီး သူတို့၏ ဟက်ရှ်များကိုသာ သိမ်းဆည်းသင့်သောကြောင့် ဖြစ်သည်။ ထို့နောက် မှတ်ပုံတင်ခြင်းကို စမ်းသပ်သည့်အခါ ဇယားထဲသို့ ပုံစံအသစ်ဖြင့် ဒေတာများ ပြည့်လာပါလိမ့်မည်။
ယခု အသုံးပြုသူအသစ်တစ်ဦးကို အချက်အလက်ဘေ့စ်ထဲသို့ သိမ်းဆည်းသည့်အခါ စကားဝှက်ကို မဟုတ်ဘဲ ၎င်း၏ ဟက်ရှ်ကို ပေါင်းထည့်သွားစေရန် ကျွန်ုပ်တို့၏ မှတ်ပုံတင်ခြင်းစနစ်ကို ပြင်ဆင်ကြပါစို့။
ဖော်ပြပါ ပြင်ဆင်ချက်သည် အောက်ပါအတိုင်း ဖြစ်လိမ့်မည်။
<?php
$login = $_POST['login'];
$password = md5($_POST['password']); // စကားဝှက်ကို ၎င်း၏ ဟက်ရှ်သို့ ပြောင်းလဲပေးသည်
$query = "INSERT INTO users SET login='$login', password='$password'";
?>
အကောင့်ဝင်ခြင်းအတွက်လည်း အလားတူ ပြင်ဆင်ချက်များကို ထည့်သွင်းကြပါမည်။
<?php
$login = $_POST['login'];
$password = md5($_POST['password']); // စကားဝှက်ကို ၎င်း၏ ဟက်ရှ်သို့ ပြောင်းလဲပေးသည်
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
?>
ဟက်ရှ်လုပ်ခြင်းကို ထည့်သွင်းစဉ်းစားပြီး မှတ်ပုံတင်ခြင်းစနစ်ကို ပြင်ဆင်ပါ၊ အသုံးပြုသူအသစ် အနည်းငယ်ကို မှတ်ပုံတင်ပါ၊ ထိုအသုံးပြုသူများသည် ဟက်ရှ်လုပ်ထားသော စကားဝှက်များဖြင့် အချက်အလက်ဘေ့စ်ထဲသို့ ထည့်သွင်းခံရကြောင်း သေချာစေပါ။
ဟက်ရှ်လုပ်ခြင်းကို ထည့်သွင်းစဉ်းစားပြီး အကောင့်ဝင်ခြင်းစနစ်ကို ပြင်ဆင်ပါ၊ ယခင်က မှတ်ပုံတင်ထားပြီးသော အသုံးပြုသူများဖြင့် အကောင့်ဝင်ကြိုးစားကြည့်ပါ။