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

Centerpe_digit ကိုအသုံးပြုနည်း။ တရားမဝင်ဒေတာထိုးဆေးကိုထိရောက်စွာတားဆီးပါ

gitbox 2025-09-26
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဤအပိုင်းသည် Pre-code pegalment ဖြစ်သည်,ဆောင်းပါး၏အကြောင်းအရာနှင့်အတူလုပ်ဖို့ဘာမျှမရှိပါတယ်</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိ timestamp ဖြစ်ပါတယ်:<span class="hljs-subst">$timestamp</span></span></span><span>\n";
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">"-"</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

--------------------------------------------------

တည်နေ PHP ဖွံ့ဖြိုးမှုအောက်မှာ,အသုံးပြုသူ input ကိုဒေတာကိုထုတ်ယူတဲ့အခါ,ဒေတာလုံခြုံရေးသည်အရေးပါသည်。အထူးသဖြင့်ဒေတာဘေ့စ်လုပ်ငန်းများပါ 0 င်သည့်အခြေအနေများတွင်,ဥပမာအားဖြင့်, အသုံးပြုသူတင်ပြချက်များကို process လုပ်ပါ ID。အသုံးပြုသူ - ပေးထားသောဒေတာများကိုဒေတာဘေ့စ်သို့တိုက်ရိုက်ဖြည့်စွက်ပါက,အဲဒါကိုဖြစ်ပေါ်စေတယ် SQL ထိုးသို့မဟုတ်ယုတ္တိဗေဒအားနည်းချက်。စင်ကြယ်သောနံပါတ်များသည် ID,PHP အလွန်အဆင်ပြေ function ကိုထောက်ပံ့ပေးသည် `</span><span><span class="hljs-title function_ invoke__">ctype_digit</span></span><span>()`,အတည်ပြုခြင်း၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေနိုင်သည်。

</span><span><span class="hljs-comment">### 1. `ctype_digit()` အဲဒါဘာလဲ?</span></span><span>

`</span><span><span class="hljs-title function_ invoke__">ctype_digit</span></span><span>()` ဟုတ်ကဲ့ PHP built-in လုပ်ဆောင်ချက်များကို,用于检查字符串ဟုတ်ကဲ့否全部由数字字符组成。၎င်း၏ syntax အောက်ပါအတိုင်းဖြစ်ပါတယ်:

```php
</span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">ctype_digit</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$text</span></span><span>)
</span></span>
  • String တွင်ဇာတ်ကောင်တစ်မျိုးစီသည်နံပါတ် ( 0-9 ) ဟုညွှန်ပြရန် မှန်ကန်သော ပြန်လာရန်။

  • string သည်ဂဏန်းမဟုတ်သောအက္ခရာများသို့မဟုတ်အချည်းနှီးသောကြိုးများပါ 0 င်ကြောင်းညွှန်ပြရန်မှားယွင်းပါ

သတိပြုသင့်သည်မှာ Cype_digit () သည် string type များကိုသာလက်ခံသည်။ အကယ်. ကိန်းဂဏန်းတစ်ခုချင်းစီကို 0 င်လာပါက၎င်းသည် မှားယွင်းသော နောက်သို့ပြန်ပို့သည်။ ထို့ကြောင့် input ကိုအတည်ပြုခြင်းမပြုမီ string တစ်ခုသို့ပြောင်းလဲရန်လိုအပ်သည်။

2 ။ CNSPE_DIGIT ကို စစ်ဆေးရန် ID ကိုအတည်ပြုရန်

ကျွန်ုပ်တို့တွင်သုံးစွဲသူ ID ကိုရရှိသော parameter သည်မှတစ်ဆင့်ဖြတ်သန်းသွားပြီဆိုပါစို့။

 <span><span><span class="hljs-variable">$userId</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] ?? </span><span><span class="hljs-string">''</span></span><span>;
</span></span>

ဒေတာဘေ့စ်စုံစမ်းမှုအတွက် $ userID ကို တိုက်ရိုက်သုံးပါက၎င်းသည်လုံခြုံရေးဆိုင်ရာအန္တရာယ်များဖြစ်စေနိုင်သည်။

 <span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users WHERE id = <span class="hljs-subst">$userId</span></span></span><span>"; </span><span><span class="hljs-comment">// စိတ်မချသော</span></span><span>
</span></span>

ဤသို့ပြုလုပ်ရန်မှန်ကန်သောနည်းလမ်းမှာ ID သည်စင်ကြယ်သောနံပါတ်ဟုတ်မဟုတ်ကိုအတည်ပြုရန်ဖြစ်သည်။

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ctype_digit</span></span><span>(</span><span><span class="hljs-variable">$userId</span></span><span>)) {
    </span><span><span class="hljs-comment">// လုံခွုံမှု:ယုံကြည်မှုနှင့်အတူအသုံးပြုနိုင်ပါသည်</span></span><span>
    </span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users WHERE id = <span class="hljs-subst">$userId</span></span></span><span>";
    </span><span><span class="hljs-comment">// ဒေတာဘေ့စ်စုံစမ်းမှုလုပ်ဆောင်ပါ</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-comment">// တရားမဝင် input ကို</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"တရားမဝင်အသုံးပြုသူ ID!"</span></span><span>;
}
</span></span>

ဤနည်းအားဖြင့် '1 သို့မဟုတ် 1 = 1' ကဲ့သို့သောမကောင်းသောအကြောင်းအရာများကို 0 င်ရောက်သော်, Ctype_digit () မှ cypype_digit ()) ကို 0 င်ရောက်နိုင်မည်ဆိုပါက၎င်းကို Cype_Digit () မှ ကြားဖြတ်လိမ့်မည်။

3 ။ is_numeric () မှခြားနားချက်

developer အများအပြားသည်နံပါတ်များကိုတရားစီရင်ရန် is_numeric () ကို သုံးနိုင်သည်။ သို့သော်၎င်းသည် Centpe_Digit () နှင့်သိသိသာသာကွဲပြားသည်။

  • is_numeric () သည် "1.23" သို့မဟုတ် "-123" ကိုနံပါတ်အဖြစ်ထည့်သွင်းစဉ်းစားလိမ့်မည်။

  • ctalepe_digit () စင်ကြယ်သောကိန်းကြိုးများကို သာခွင့်ပြုပြီးအနုတ်လက္ခဏာများသို့မဟုတ်ဒ decimal မအချက်များမရရှိနိုင်ပါ။

ထို့ကြောင့် ID ကဲ့သို့သောဒေတာဘေ့စ်အဓိကသော့ချက်များနှင့်ဆက်ဆံရာတွင် Cype_digit () သည်ပိုမိုတင်းကျပ်။ လုံခြုံသည်။

4 ။ လုံခြုံရေးမြှင့်တင်ရန်ခိုင်မာသောပြောင်းလဲခြင်းနှင့်အတူပေါင်းစပ်

လက်တွေ့ကျသော application များအရ string type id ကိုစိစစ်အတည်ပြုပြီးနောက်စိစစ်အတည်ပြုပြီးနောက်စိစစ်အတည်ပြုအဖြစ်ပြောင်းလဲရန်ဖြစ်နိုင်ပါတယ်။

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">ctype_digit</span></span><span>(</span><span><span class="hljs-variable">$userId</span></span><span>)) {
    </span><span><span class="hljs-variable">$safeId</span></span><span> = (</span><span><span class="hljs-keyword">int</span></span><span>)</span><span><span class="hljs-variable">$userId</span></span><span>; </span><span><span class="hljs-comment">// Integer အမျိုးအစားသို့ပြောင်းပါ</span></span><span>
    </span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT * FROM users WHERE id = <span class="hljs-subst">$safeId</span></span></span><span>";
}
</span></span>

ဤနည်းအားဖြင့်ဒေတာဘေ့စ်သည်မေးမြန်းချက်များကိုကွပ်မျက်လျှင်ပင် string splicing ကြောင့်ဆေးထိုးအန္တရာယ်မရှိပါ။

5 ။ အကျဉ်းချုပ်

  • Coverpe_digit () သည်စင်ကြယ်သောဒစ်ဂျစ်တယ် ID များကိုကိုင်တွယ်ရန်အတွက်လုံခြုံရေးအတည်ပြုကိရိယာတစ်ခုဖြစ်သည်။

  • ၎င်းသည် is_numeric () ထက်ပိုမိုတင်းကျပ်သည်, အနုတ်လက္ခဏာများနှင့်ဒ dec မနစ်စသည့်တရားမ 0 င်စာလုံးများကိုရှောင်ရှားခြင်းထက် ပို. တင်းကျပ်သည်။

  • အတည်ပြုပြီးသည်နှင့်ဒေတာလုံခြုံရေးကိုတိုးတက်စေရန်ခိုင်မာသောပြောင်းလဲခြင်းနှင့်ပေါင်းစပ်။ အသုံးပြုနိုင်ပါသည်။

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

ရိုးရှင်းသော Cype_digit () အတည်ပြုခြင်းဖြင့်အဆင်ပြေချောမွေ့သည့်အခြေအနေတွင်အသုံးပြုသူမှ 0 င်ရောက်သောစင်ကြယ်သောဒစ်ဂျစ်တယ် ID ကိုလုံခြုံစွာပြုလုပ်နိုင်သည်။

 <span></span>