ThinkPPP နှင့်တီထွင်သောအခါ Image Verification Code သည်ဘုံလုံခြုံရေးအတည်ပြုနည်းများထဲမှတစ်ခုဖြစ်သည်။ သို့သော်အမှန်တကယ်ဖြန့်ကျက်မှုဖြစ်စဉ်တွင် developer များစွာသည်ပြ problem နာကိုပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်မပြနိုင်ကြောင်းပြ the နာကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ထောင့်ကွက်များနှင့်အတိမ်အနက်ကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီးထိရောက်သောစုံစမ်းစစ်ဆေးရေးအတွေးအခေါ်များနှင့်ဖြေရှင်းနည်းများကိုဖြည့်ဆည်းပေးနိုင်လိမ့်မည်။
TrushPP ရှိအတည်ပြုကုဒ်၏လမ်းကြောင်းကိုများသောအားဖြင့် configuration file မှတဆင့်သတ်မှတ်ထားသည်။ အကယ်. လမ်းကြောင်းကိုမှားယွင်းစွာသတ်မှတ်ထားပါက browser သည်အတည်ပြုကုဒ်ကိုမှန်ကန်စွာမရရှိနိုင်ပါ။
များသောအားဖြင့် config.php ဖိုင်တွင်တည်ရှိသောစီမံကိန်း configuration file ရှိသက်ဆိုင်ရာပစ္စည်းများအားစစ်ဆေးပါ။
'captcha' => array( 'length' => 4, 'fontSize' => 25, 'useCurve' => false, 'useNoise' => false, 'reset' => true, ),
လမ်းကြောင်းကိုမှန်ကန်စွာသတ်မှတ်ထားပြီး Controller ရှိခေါ်ဆိုမှုယုတ္တိဗေဒနှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ URL ပြန်လည်ရေးရန်အသုံးပြုသည်ဆိုပါကပြန်လည်ရေးရာစည်းမျဉ်းတွင်အတည်ပြုကုဒ်လမ်းကြောင်းကိုပိတ်ဆို့ခြင်းမရှိပါကသင်အတည်ပြုရမည်။
အတည်ပြုကုဒ်မျိုးဆက် GD စာကြည့်တိုက်ပံ့ပိုးမှုပေါ်တွင်မူတည်သည်။ အကယ်. ဆာဗာတွင် GD စာကြည့်တိုက်တပ်ဆင်ခြင်းသို့မဟုတ်ဗားရှင်းသည်အလွန်နိမ့်ပါက၎င်းသည်အတည်ပြုကုဒ်ပုံရိပ်များကိုတိုက်ရိုက် ဦး ဆောင်လိမ့်မည်။
GD စာကြည့်တိုက်သည်အောက်ပါနည်းလမ်းများကို အသုံးပြု. သင်တည်ရှိသည်ကိုစစ်ဆေးနိုင်သည်။
var_dump(function_exists('gd_info'));
မှားယွင်းသော အဓိပ္ပာယ်ကိုပြန်ခြင်းဆိုသည်မှာ GD စာကြည့်တိုက်ကို install မလုပ်နိုင်ခြင်းဖြစ်သည်။ GD စာကြည့်တိုက်ကိုဆာဗာတွင်တပ်ဆင်ရန်သို့မဟုတ်အဆင့်မြှင့်တင်ရန်နှင့်ဝက်ဘ်ဝန်ဆောင်မှုကိုပြန်လည်စတင်ရန်အကြံပြုသည်။
စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်စိစစ်အတည်ပြုကုဒ်များကိုများသောအားဖြင့်သိမ်းဆည်းထားကြသည်။ အကယ်. cache သည်ပုံမှန်မဟုတ်သောသို့မဟုတ်ဖိုင်သည်အကျင့်ပျက်နေပါက၎င်းသည်အတည်ပြုကုဒ်ကိုပြသနိုင်မည်မဟုတ်ပါ။
Class ကိုထုတ်လုပ်ရန် verification code ကိုကိုယ်တိုင်ဖုန်းဖြင့်ခေါ်ဆိုနိုင်သည်။
$captcha = new \think\captcha\Captcha();
$captcha->entry('captcha');
အထက်ဖော်ပြပါကုဒ်သည်အတည်ပြုကုဒ်ကိုပြန်လည်ထူထောင်နိုင်ပြီး cache ကြောင့်ဖြစ်ရတဲ့ပြသမှုပြ problem နာကိုဖြေရှင်းဖို့ cache ကိုရေးမယ်။
အကယ်. စာမျက်နှာတွင်စာမျက်နှာတွင်ပါ 0 င်သည့်အကြောင်းအရာများ (နေရာများ, HTML tags များသို့မဟုတ်အခြားဇာတ်ကောင်များ) ရှိပါကအတည်ပြုကုဒ်ပုံရိပ်ကိုမထုတ်လုပ်မီကအတည်ပြုကုဒ်ပုံကိုမှန်ကန်စွာပြန်ဆိုခံရနိုင်သည်။
အတည်ပြုကုဒ်ကိုထုတ်ပြန်သည့် Controller Method တွင်အခြား output မရှိကြောင်းသေချာအောင်လုပ်ပါ။ အတည်ပြုကုဒ်များကိုများသောအားဖြင့်ကိုးကားနေကြသည်:
<img src="/captcha" alt="အတည်ပြုရန်ကုတ်">
SRC attribute သည် url path ကို url path ကိုညွှန်ပြသည့် URL လမ်းကြောင်းအားသေချာအောင်လုပ်ပါ။
စုစုပေါင်း TerryPPP စစ်ဆေးခြင်းကုဒ်ကိုပြခြင်းမပြုရပါ, လမ်းကြောင်း configuration အမှားများ, ပျောက်ဆုံးနေသောသို့မဟုတ်ပုံမှန်မဟုတ်သော GD စာကြည့်တိုက်များ, စစ်ဆေးမှုတွင်အထက်ပါ settings ကိုအလှည့်ကျစစ်ဆေးရန်အကြံပြုသည်။