ဆိုက်ဘာလုံခြုံရေးခြိမ်းခြောက်မှုများတိုးများလာခြင်းနှင့်အတူအသုံးပြုသူစကားဝှက်များကိုကာကွယ်ခြင်းသည်ဝက်ဘ်ဆိုက်တိုင်း၏ထိပ်တန်း ဦး စားပေးဖြစ်လာသည်။ PHP 5.6 တွင်မိတ်ဆက်ပေးသော `hash_password` function သည် PHP 5.6 တွင်မိတ်ဆက်ခြင်းသည် password hash processing အတွက်အဆင်ပြေသောဖြေရှင်းနည်းများကိုထောက်ပံ့ပေးသည်။
Password Hashing သည်သုံးစွဲသူ၏စကားဝှက်ကို algorithm မှတဆင့်နောက်ကြောင်းပြန်လှည့ ်. မရနိုင်သောကြိုးအဖြစ်ပြောင်းလဲရန်ဖြစ်သည်။ PHP 5.6 ရှိ `hash_password` function သည်ဤလုပ်ငန်းစဉ်ကိုရိုးရှင်းလွယ်ကူပြီးစကားဝှက်သိုလှောင်မှုကိုပိုမိုလုံခြုံပြီးယုံကြည်စိတ်ချရစေသည်။
ဤအပိုင်းတွင်ရိုးရှင်းသောဥပမာတစ်ခုနှင့်စကားဝှက်ကိုလျှော်ရန် `hash_password` function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ပြသမည်။
ပထမ ဦး စွာကျွန်ုပ်တို့တွင်အသုံးပြုသူ၏သတင်းအချက်အလက်ဇယား (actloyers` table) ရှိပြီးသားဆိုပါစို့။
Table users (Username Varchar (50) ကိုဖန်တီးပါ။
ထို့နောက်အသုံးပြုသူမှတ်ပုံတင်ခြင်းနှင့်စကားဝှက်ကိုကိုင်တွယ်ရန် PHP code ကိုရေးပါလိမ့်မည်။
<?php<br> // ဒေတာဘေ့စနှင့်ဆက်သွယ်ပါ<br> $ can = MySQLI ('localhost', 'root', 'Password', 'Database_name',<br><br> // စကားဝှက်ကိုဆေးထည့်ရန် hash_password function ကိုအသုံးပြုပါ<br> function hash_password ($ စကားဝှက်) {<br> Password_Hash ($ password_default) ကိုပြန်သွားပါ။<br> }<br><br> // အသုံးပြုသူမှတ်ပုံတင်ခြင်းလုပ်ဆောင်ချက်<br> function request_user ($ username, $ စကားဝှက်) {<br> ကမ္ဘာလုံးဆိုင်ရာ $ Con;<br><br> // စကားဝှက်ကိုဆေးထည့်ပါ<br> $ hashed_password = hash_password ($ စကားဝှက်);<br><br> // အသုံးပြုသူအချက်အလက်များကိုဒေတာဘေ့စ်ထဲသို့ထည့်ပါ<br> $ stmt = $ conn-> ကြိုတင်ပြင်ဆင်မှု ('အသုံးပြုသူများကိုအသုံးပြုပါ (အသုံးပြုသူအမည်, စကားဝှက်) တန်ဖိုးများ (?)');<br> $ stmt-> bind_param ('SS', $ username, $ hashed_password);<br><br> // query ကို query နှင့် output ကို execute<br> လျှင် ($ stmt-> execute ()) {<br> ECHO ၏အသုံးပြုသူမှတ်ပုံတင်ခြင်းသည်အောင်မြင်ခဲ့သည်။ '';<br> } အခြား<br> Echo ၏အသုံးပြုသူမှတ်ပုံတင်ခြင်းမအောင်မြင်ပါ, နောက်မှထပ်ကြိုးစားပါ။ '';<br> }<br> }<br><br> // မှတ်ပုံတင်ခြင်း function ကိုခေါ်ပါ<br> Register_user ('user1', 'Password123');<br><br> $ conn-> အနီးကပ် ();<br> >
အထက်ပါကုဒ်များတွင် MySQLI`` မှတစ်ဆင့် MySQL ဒေတာဘေ့စ်ကို ဦး စွာဆက်သွယ်သည်။ `hash_password`" function သည်အသုံးပြုသူစကားဝှက်ကို parameter အဖြစ်လက်ခံပြီး `password_hash` function ကိုဖြတ်ပြီး hash value တစ်ခုအဖြစ်ပြောင်းလဲခြင်း,
`Register_User`Ser` function ကို SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ခြင်းဖြင့်အသုံးပြုသူအမည်နှင့် hash password ကိုဒေတာဘေ့စ်ထဲသို့သိုလှောင်ထားသည်။ အကယ်. စစ်ဆင်ရေးအောင်မြင်လျှင်အသုံးပြုသူသည်ချက်ချင်း "အသုံးပြုသူမှတ်ပုံတင်ခြင်းသည်အောင်မြင်သည်" ကိုတွေ့ရလိမ့်မည်။ ; ဒီလိုမှမဟုတ်ရင် prompt "အသုံးပြုသူမှတ်ပုံတင်ခြင်းမအောင်မြင်ပါ, နောက်မှထပ်ကြိုးစားပါ။
PHP 5.6 တွင်မိတ်ဆက်သည့် `hash_password` function သည် PHP 5.6 တွင်မိတ်ဆက်ပေးပြီး developer များအနေဖြင့် developer များလုပ်ဆောင်ရန်အတွက်ပိုမိုလုံခြုံစိတ်ချရလွယ်ကူစေသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ဝက်ဘ်ဆိုက်သည်အသုံးပြုသူ၏စကားဝှက်ကိုထိထိရောက်ရောက်ကာကွယ်နိုင်ပြီးဒေတာဘေ့စ်သည်တိုက်ခိုက်ခံရလျှင်ပင်ဟက်ကာများသည်သုံးစွဲသူ၏မူလစကားဝှက်ကိုမရရှိနိုင်ပါ။ ၎င်းသည်အသုံးပြုသူ authentication နှင့် data protection ကိုလုပ်ဆောင်သောအခါ PHP developer များအတွက်အစွမ်းထက်သောကိရိယာတစ်ခုပေးသည်။