လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> login verification ကိုအကောင်အထည်ဖော်ရန် Crypt () + session ကိုသုံးပါ

login verification ကိုအကောင်အထည်ဖော်ရန် Crypt () + session ကိုသုံးပါ

M66 2025-05-31

ဝက်ဘ်လျှောက်လွှာဖွံ့ဖြိုးတိုးတက်မှုတွင်အသုံးပြုသူ login verification ၏လုံခြုံရေးသည်အထူးအရေးကြီးသည်။ PHP သည်စာဝှက်စနစ်နည်းလမ်းများအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ Crypt () function သည်၎င်း၏ရိုးရှင်းမှုနှင့်စာဝှက်စနစ် algorithms များအတွက်ထောက်ခံမှုအတွက်လူကြိုက်များသည်။ Secure login verification function တစ်ခုရရှိရန် Crypt () function နှင့် php session ကိုပေါင်းစပ်ရန်မည်သို့အသေးစိတ်ဖော်ပြရန်ဤဆောင်းပါးသည်အသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။

1 ။ Sendpt () function ကိုမိတ်ဆက်

Crypt () သည် PHP တွင်ပါ 0 င်သောစကားဝှက်စာဝှက်ခြင်းလုပ်ငန်းစီမံချက်မှာ encryption algorithms (des, blowfish, sha-256, Sha-512 စသည်) အမျိုးမျိုးကိုထောက်ပံ့သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာ -

 $hashed = crypt($password, $salt);
  • $ စကားဝှက် သည်မူလစကားဝှက်ဖြစ်သည်။

  • $ ဆား သည်ဆားတန်ဖိုးဖြစ်ပြီး encryption ကိုရှုပ်ထွေးစေပြီးသက်တံ့စားပွဲဝိုင်းတိုက်ခိုက်မှုများကိုတားဆီးရန်အသုံးပြုသည်။

မှတ်ချက် - လုံခြုံရေးသေချာစေရန်, အချို့သောအရှည်နှင့်ရှုပ်ထွေးမှုများ၏ကျပန်းထုတ်လုပ်ထားသောကြိုးကြိုးများကိုအသုံးပြုရန်အကြံပြုသည်။

2 ။ စကားဝှက်များကိုစာဝှက်ရန်နှင့်အတည်ပြုရန် crypt () ကိုသုံးပါ

login system သည်များသောအားဖြင့်အပိုင်းနှစ်ပိုင်းပါဝင်သည်။

  • မှတ်ပုံတင်သည့်အခါအသုံးပြုသူစကားဝှက်ကို crypt () ကို အသုံးပြု. စာဝှက်ထားပြီးဒေတာဘေ့စ်သို့သိမ်းဆည်းထားသည်။

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

3 ။ login စိစစ်အတည်ပြုအောင်မြင်ရန် session ကိုနှင့်အတူပေါင်းစပ်

အသုံးပြုသူကိုအောင်မြင်စွာဝင်ရောက်ပြီးအပြီးတွင်အသုံးပြုသူကိုအောင်မြင်စွာဝင်ရောက်ပြီးပြီးနောက်အသုံးပြုသူရဲ့ login status ကိုသိမ်းပြီး, တောင်းဆိုမှုတစ်ခုစီအတွက်ပြန်လည်စစ်ဆေးမှုကိုရှောင်ရှားရန် session ကိုသုံးပါ။

နမူနာကုဒ်

အောက်ပါဥပမာသည်ရိုးရှင်းသော login ဖြစ်စဉ်ကိုပြသသည်။

 <?php
session_start();

// ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသောအသုံးပြုသူအမည်နှင့်စာဝှက်ထားသောစကားဝှက်ကိုတုပပါ
$users = [
    'user1' => '$6$rounds=5000$m66.netRandomSalt$Jj4K.SR0QYOSpZp2...Q1uEXAMPLEhashedpassword', // SHA-512 Encryption ဥပမာ
];

// login ပုံစံတင်သွင်းမှုအပြောင်းအလဲနဲ့
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $username = $_POST['username'] ?? '';
    $password = $_POST['password'] ?? '';

    if (isset($users[$username])) {
        $storedHash = $users[$username];
        // ဒေတာဘေ့စ်တွင်သိုလှောင်ထားသောသိုလှောင်ထားပါ hash ဆားအဖြစ် encrypted,တသမတ်တည်းနေပါ
        $inputHash = crypt($password, $storedHash);

        if (hash_equals($storedHash, $inputHash)) {
            // စကားဝှက်ကိုစစ်ဆေးခြင်းအောင်မြင်ခဲ့သည်,login status ကိုသိမ်းပါ
            $_SESSION['username'] = $username;
            echo "အောင်မြင်စွာဝင်ပါ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{$username}!";
        } else {
            echo "စကားဝှက်。";
        }
    } else {
        echo "အသုံးပြုသူအမည်မရှိပါ。";
    }
    exit;
}

// သင် logged in ဝင်သည်ကိုဆုံးဖြတ်ပါ
if (isset($_SESSION['username'])) {
    echo "သင် logged in ဝင်သည်,ကြိုဆိုပါတယ်,{$_SESSION['username']}!";
} else {
    // login ပုံစံကိုပြပါ
    echo <<<HTML
<form method="POST" action="https://m66.net/login.php">
    အသုံးပြုသူ:<input type="text" name="username" required><br>
    လှျို့ဝှက်စကား:<input type="password" name="password" required><br>
    <input type="submit" value="လော့ဂ်အင်">
</form>
HTML;
}
?>

4 ။ အဓိကအချက်များဖော်ပြချက်

  • ဆားကုသမှု <br> <br> ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသောစကားဝှက် Hash သည်ဆားသတင်းအချက်အလက်များပါ 0 င်သည်။ Crypt () function သည် specification အတွင်းဆားအဖြစ်ဆားအဖြစ်ဆားအဖြစ်ဆားအဖြစ်အသုံးပြုသည်။ ၎င်းသည်စာဝှက်စနစ်နည်းလမ်းသည်ဆားနှင့်ကိုက်ညီကြောင်းသေချာစေသည်။

  • အချိန်တိုက်ခိုက်မှုတားဆီး string နှိုင်းယှဉ်ချက်အရဖြစ်နိုင်သောအချိန်ကွဲပြားခြားနားမှုများကိုရှောင်ရှားရန် hash_equals () function ကိုသုံးပါ။

  • Session Security <br> Session_Start () session ကိုစတင်ရန် Session ကိုစတင်ရန်အသုံးပြုသူအချက်အလက်များကို $ _Session ကို အောင်မြင်စွာ logging လုပ်ပါ။

  • URL အစားထိုး <br> ဥပမာတွင် link domain name အားလုံးကို M66.net ဖြင့်အစားထိုးထားသည်။

5 ။ နောက်ထပ် optimization အကြံပြုချက်များ

  • password_hash နှင့် password_verify ကိုသုံးပါ
    PHP 5.5+ သည် Password_Hash () နှင့် password_verify () ကို အသုံးပြုရန်အကြံပြုသည်။ ၎င်းသည်ပိုမိုလုံခြုံစိတ်ချရလွယ်ကူပြီးပိုမိုလွယ်ကူသည်။

  • https ကိုဖွင့်ပါ
    Man-in-the-the- အလယ်တိုက်ခိုက်မှုများကိုကာကွယ်ရန် login စာမျက်နှာနှင့်တင်သွင်းမှု interface ကို HTTPS ကို အသုံးပြု. ပို့ပေးပါ။

  • Session Hijacking ကိုတားဆီး session.cookie_httponly နှင့် session.cookie_secure ကဲ့သို့သောသင့်လျော်သော session configurations များကိုသတ်မှတ်ပါ။