PHP Mall Projects များဖွံ့ဖြိုးတိုးတက်ရေးကာလအတွင်းအတည်ပြုသည့်ကုဒ်သည်ပုံမှန်အားဖြင့် login နှင့်မှတ်ပုံတင်ခြင်းအခြေအနေတွင်အသုံးပြုလေ့ရှိပြီးအန္တရာယ်ရှိသောစစ်ဆင်ရေးများကိုကာကွယ်ရန်အခန်းကဏ် plays မှပါ 0 င်သည်။ သို့သော်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်အတည်ပြုသည့်ကုဒ်ကိုပုံမှန်မပြနိုင်ကြောင်းအတည်ပြုချက်ကိုကြုံတွေ့ရသည်။ ၎င်းသည်အသုံးပြုသူ login ကိုပိတ်ဆို့ထားခြင်းခံရသည်။ ဤဆောင်းပါးသည်ဤပြ problem နာကိုရှုထောင့်မျိုးစုံမှခွဲခြမ်းစိတ်ဖြာပါကသက်ဆိုင်ရာဖြေရှင်းနည်းများပေးလိမ့်မည်။
login စာမျက်နှာသည် loading လုပ်သည့်အခါပြသရမည့်အတည်ပြုထားသောသင်္ကေတပုံရိပ်ကိုပုံမှန်အားဖြင့်ပြသနိုင်ပြီး, ဤဖြစ်စဉ်သည်ပုံမှန်အားဖြင့်အတည်ပြုကုဒ်မျိုးထုတ်လုပ်မှုယုတ္တိဗေဒ, လမ်းကြောင်း settings သို့မဟုတ်ပတ်ဝန်းကျင်ပြင်ဆင်မှုနှင့်ဆက်စပ်သောတွေ့ရှိရသည်။
ပထမအချက်မှာအတည်ပြုကုဒ်မျိုးဆက်ဆိုင်ရာယုတ္တိဗေဒကိုပုံမှန်ကွပ်မျက်သည်ကိုအတည်ပြုရန်လိုအပ်သည်။ Common Generation Logic သည် GD စာကြည့်တိုက်ကိုကျပန်းနံပါတ်များဖြင့်ဆွဲယူရန် GD စာကြည့်တိုက်ကိုခေါ်ဆိုသည်။ အောက်ဖော်ပြပါသည်အခြေခံအတည်ပြုကုဒ်မျိုးဆက်ဖြစ်သည်။
// အတည်ပြုကုဒ်မျိုးဆက်ကုဒ်ဥပမာ
session_start();
$code = rand(1000,9999);
$_SESSION['captcha'] = $code;
$image = imagecreatetruecolor(100, 30);
$bg_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $bg_color);
imagestring($image, 5, 10, 5, $code, $text_color);
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
Code ဖိုင်တွင် syntax အမှားများမရှိပါကပုံရိပ် format အချက်အလက်များကိုမှန်ကန်စွာပြန်ပို့နိုင်အောင်သေချာပါစေ။
အတည်ပြုကုဒ်ပုံရိပ်များကိုများသောအားဖြင့် HTML tags များမှတဆင့်တင်သည်။
<img src="captcha.php" alt="အတည်ပြုရန်ကုတ်">
ဤလမ်းကြောင်းအားဖြင့်ညွှန်ပြသော PHP ဖိုင်သည်ပုံမှန်အားဖြင့်တည်ရှိပြီးကွပ်မျက်ခံရနိုင်သည်ကိုသေချာစွာအတည်ပြုပါ။ အကယ်. စီမံကိန်းပြန်လည်ရေးရန်စည်းမျဉ်းများကိုအသုံးပြုသည်ဆိုပါကဤလမ်းကြောင်းကိုလက်လှမ်းမီမှုကိုမထိခိုက်ပါစေနှင့်။
အတည်ပြုကုဒ်ကိုပုံမှန်ပြသရန်မလိုအပ်ပါ။ ဤနေရာတွင်အတည်ပြုရန်ယုတ္တိဗေဒ၏ဥပမာတစ်ခုဖြစ်သည်။
// အတည်ပြုရန်ကုတ်验证逻辑示例
session_start();
if ($_POST['captcha'] != $_SESSION['captcha']) {
// အတည်ပြုရန်ကုတ်错误处理逻辑
echo 'အတည်ပြုရန်ကုတ်错误,ကျေးဇူးပြု. ပြန်လည်ထည့်ပါ';
} else {
// အတည်ပြုရန်ကုတ်正确处理逻辑
echo 'အတည်ပြုရန်ကုတ်正确';
}
session_start () သည် ဆာဗာသည်အချက်အလက်များမပြုလုပ်မီမှန်ကန်စွာကွပ်မျက်ခံရကြောင်းသေချာပါစေနှင့် $ _Session ['Captcha') သည်လက်ရှိအတည်ပြုကုဒ်ကိုသိမ်းဆည်းထားကြောင်းသေချာပါစေ။
GD စာကြည့်တိုက်သည် PHP တွင်အသုံးပြုသော extension module တစ်ခုဖြစ်သည်။ ဒီစာကြည့်တိုက်ကိုအတည်ပြုကုဒ်ပုံရိပ်တွေကိုထုတ်လုပ်တဲ့အခါမှာဒီစာကြည့်တိုက်ကိုအားကိုးရမယ်။ အကယ်. extension ကို install လုပ်ခြင်းမပြုလုပ်ပါကသို့မဟုတ်မဖွင့်ပါကအတည်ပြုလက်မှတ်ရေးထိုးမှုပျက်ပြားသွားလိမ့်မည်။
Phpinfo () ကို ခေါ်ခြင်းဖြင့် GD စာကြည့်တိုက်၏ loading status ကိုသင်အတည်ပြုနိုင်သည်။
// စစ်ဆေးကြည့်ရှုGDစာကြည့်တိုက်ကို loaded ရှိမရှိ
phpinfo();
"GD" နှင့်သက်ဆိုင်သောအကြောင်းအရာများကိုထုတ်လုပ်ထားသောစာမျက်နှာတွင်ရှာဖွေပြီး၎င်း၏ status ကိုဖွင့်ထားကြောင်းအတည်ပြုပါ။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်ကျပန်း parameters တွေကိုထည့်သွင်းရန်အတည်ပြုထားသောကုဒ်များသို့ထည့်သွင်းရန်ကုဒ်များကိုထည့်သွင်းရန်အကြံပြုသည် - ဥပမာ -
<img src="captcha.php?rand=<?php echo rand(); ?>" alt="အတည်ပြုရန်ကုတ်">
ထို့အပြင်အတည်ပြုကုဒ်ပုံရိပ်ကို browser (သို့) CDN မှသိမ်းဆည်းထားခြင်းမဟုတ်ကြောင်းသေချာအောင်လုပ်ပါ။
အတည်ပြုထားသောအတည်ပြုနံပါတ်ပြ problem နာကိုပုံမှန်အားဖြင့်မျိုးဆက်ယုတ္တိဗေဒ, လမ်းကြောင်းအမှားများ, အထက်ပါပြ troubl နာဖြေရှင်းခြင်းအဆင့်များဖြင့်ဆက်နွယ်သောပြ problems နာအများစုကိုထိရောက်စွာဖြေရှင်းနိုင်သည်။ developer များသည်သက်ဆိုင်သူများကိုပုံမှန်အားဖြင့်သက်ဆိုင်ရာကုဒ်ယုတ္တိဗေဒကိုပုံမှန်ထိန်းသိမ်းရန်နှင့်ကွင်းလယ်ကစားမှုလုပ်ငန်းဆောင်တာ၏တည်ငြိမ်မှုနှင့်လုံခြုံမှုကိုသေချာစေရန် Cross-browser နှင့် terti-terminal compatibility tests များကိုပြုလုပ်ရန်အကြံပြုသည်။