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

ပုံရိပ်အတည်ပြုကုဒ်များကိုထုတ်လုပ်ရန်နှင့်အတည်ပြုရန် PHP ကိုအသုံးပြုနည်း

M66 2025-07-01

PHP သည်ရုပ်တုကိုစစ်ဆေးခြင်းကုဒ်များကိုအတည်ပြုသည်

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်းအလိုအလျောက်အန္တရာယ်ရှိသောတိုက်ခိုက်မှုများသို့မဟုတ်အလိုအလျောက်မှတ်ပုံတင်ခြင်းကိုတားဆီးရန်ကျွန်ုပ်တို့သည် Image Verification codes များကိုစစ်ဆေးရန်အသုံးပြုသည်။ ဤဆောင်းပါးသည် PHP ကိုပုံရိပ်အတည်ပြုကုဒ်များကိုထုတ်လုပ်ရန်နှင့်အတည်ပြုရန်နှင့်သက်ဆိုင်ရာစာရွက်စာတမ်းများကိုဖော်ပြရန်မည်သို့အသုံးပြုရမည်ကိုပြသပါလိမ့်မည်။

ပုံရိပ်အတည်ပြုကုဒ်ကိုထုတ်လုပ်ပါ

Image Verification codes များကိုထုတ်လုပ်သည့်အဓိကအချက်မှာကျပန်းအတည်ပြုကုဒ် string ကိုထုတ်လုပ်ရန်နှင့်ပုံပေါ်သို့ဆွဲရန်ဖြစ်သည်။ PHP Code ဥပမာတစ်ခု

 <?php
session_start();

// ပုံအရွယ်အစားကြေညာပါ
$image_width = 100;
$image_height = 40;

// ပုံအရင်းအမြစ်များကိုဖန်တီးပါ
$image = imagecreatetruecolor($image_width, $image_height);

// နောက်ခံအရောင် generate
$bg_color = imagecolorallocate($image, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));
imagefill($image, 0, 0, $bg_color);

// အတည်ပြုကုဒ် string ကို generate
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789';
$code = '';
for ($i = 0; $i < 4; $i++) {
    $code .= $chars[mt_rand(0, strlen($chars) - 1)];
}

// အတည်ပြုကုဒ် string ကိုသိမ်းပါsessionအလယ်ပိုင်း,နောက်ဆက်တွဲစိစစ်အတည်ပြုသည်
$_SESSION['captcha'] = $code;

// အတည်ပြုကုဒ်စာသားဆွဲပါ
$font_file = 'path_to_your_font.ttf'; // သင်၏ကိုယ်ပိုင် font file လမ်းကြောင်းကိုအစားထိုးပါ
$text_color = imagecolorallocate($image, 0, 0, 0); // စာသားအရောင်သည်အနက်ရောင်ဖြစ်သည်
imagettftext($image, 20, 0, 10, 30, $text_color, $font_file, $code);

// output ကိုပုံ
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

အထက်ဖော်ပြပါကုဒ်သည် ImagecreatetRuecolor function မှတဆင့်သတ်မှတ်ထားသောအကျယ်နှင့်အမြင့်နှင့်အတူပုံရိပ်အရင်းအမြစ်ကိုဖန်တီးပေးသည်။ ထို့နောက်နောက်ခံအရောင်ကို isolorecolorallationallation function ကိုမှတစ်ဆင့်ထုတ်လုပ်ပြီးပုံတစ်ခုလုံးပြည့်နှက်နေသည်။ နောက်ဆုံးအနေဖြင့် IgeettingText function ကို အသုံးပြု. ပုံရိပ်ကိုအတည်ပြုသည့်ကုဒ်နံပါတ်ကိုရေးဆွဲပြီးနောက်ဆုံးတွင်ထုတ်လုပ်ထားသောပုံရိပ်သည် ImagePng function ကို အသုံးပြု. output ကိုဖြစ်သည်။

ရုပ်ပုံအတည်ပြုကုဒ်အတည်ပြုရန်

Image Verification Code ကိုအတည်ပြုသည့်အခါအသုံးပြုသူမှထည့်သွင်းထားသောအတည်ပြုနံပါတ်ကို session တွင်သိမ်းဆည်းထားသောအတည်ပြုကုဒ်နှင့်နှိုင်းယှဉ်ရန်လိုအပ်သည်။ အောက်ဖော်ပြပါအချက်သည် PHP ကုဒ်နံပါတ်ဖြစ်သည်

 <?php
session_start();

// အသုံးပြုသူအားဖြင့်ထည့်သွင်းအတည်ပြုကုဒ် string ကိုရယူပါ
$user_input = $_POST['captcha'];

// သိမ်းဆည်းရsessionအလယ်ပိုင်း的验证码字符串
$server_code = $_SESSION['captcha'];

// အသုံးပြုသူမှထည့်သွင်းထားသောအတည်ပြုကုဒ်သည်သိမ်းဆည်းထားသောအတည်ပြုကုဒ်နှင့်ကိုက်ညီကြောင်းစစ်ဆေးပါ
if (strcasecmp($user_input, $server_code) === 0) {
    // အတည်ပြုကုဒ်မှန်ကန်သည်,သက်ဆိုင်ရာစစ်ဆင်ရေးလုပ်ဆောင်ပါ
    echo 'အတည်ပြုကုဒ်မှန်ကန်သည်';
} else {
    // အတည်ပြုကုဒ်အမှား,အသုံးပြုသူကိုပြန်လည်ထည့်သွင်းပါ
    echo 'အတည်ပြုကုဒ်အမှား';
}
?>

အထက်ပါကုဒ်သည်ပထမ ဦး ဆုံး session ကို အသုံးပြု. အသုံးပြုသူမှ _post array မှတဆင့်ထည့်သွင်းထားသောအတည်ပြုကုဒ်ကိုရရှိသည်။ strivsecmp function မှတဆင့်ကြိုးနှစ်ချောင်းနှိုင်းယှဉ်ပါ။ သူတို့ကိုက်ညီမယ်ဆိုရင်ဒါဟာအတည်ပြုကုဒ်မှန်ကန်တယ်, သက်ဆိုင်ရာစစ်ဆင်ရေးကိုဖျော်ဖြေနိုင်ပါတယ်; သူတို့မကိုက်ညီပါကအတည်ပြုကုဒ်သည်မှားကြောင်းသတိပေးသည်။

အကျဉ်းချုပ်

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

အမှန်တကယ် application များအရအထက်ပါလုပ်ဆောင်ချက်များအပြင်, 0 င်ရောက်စွက်ဖက်မှုလိုင်းများကိုပေါင်းထည့်ခြင်း,