<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ကုဒ်၏ဤအပိုင်းသည်စာသားနှင့်လုံးဝမသက်ဆိုင်ပါ,သာဓကတစ်ခုပဲPHPcode snippet</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">example</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဒါကနမူနာကုဒ်ပါ。"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
တည်နေ Web ဖွံ့ဖြိုးမှုအောက်မှာ,အသုံးပြုသူ input အချက်အလက်များ၏လုံခြုံရေးနှင့်ထိရောက်မှုသည်အရေးပါသည်。PHP filter ကို filter နှင့်သန့်ရှင်းရေးရန်နည်းလမ်းများစွာကိုထောက်ပံ့ပေးသည်,အထူးသဖြင့် Multi-byte ဇာတ်ကောင်များအတွက်。`mb_scrub` Multibyte လုံခြုံရေးသန့်ရှင်းရေး function ကိုအဖြစ်လုပ်ဆောင်ချက်များကို,တည်နေ过滤用户输入时具有重要作用。ဤဆောင်းပါးသည်အသေးစိတ်ဆွေးနွေးပါမည် `mb_scrub` လုပ်ဆောင်ချက်的具体应用方法及其တည်နေ Web Form input filtering အတွက်အားသာချက်များ。
</span><span><span class="hljs-comment">### ဘာလဲ `mb_scrub` လုပ်ဆောင်ချက်?</span></span><span>
`mb_scrub` ဟုတ်ကဲ့ PHP Multi-byte string ကိုတိုးချဲ့ခြင်း(mbstring)提供的一个လုပ်ဆောင်ချက်,ကြိုးများ၌တရားမဝင်သို့မဟုတ်အသိအမှတ်မပြုသောဇာတ်ကောင်များကိုသန့်ရှင်းရေးလုပ်ရန်အသုံးပြုခဲ့သည်,string ကိုသတ်မှတ်ထားသော encoding စံချိန်စံညွှန်းများနှင့်ကိုက်ညီကြောင်းသေချာပါစေ。၎င်းသည်လုံခြုံရေးဆိုင်ရာပြ problems နာများကြောင့်ဖြစ်ပေါ်လာသောလုံခြုံရေးအားနည်းချက်များသို့မဟုတ်ပရိုဂရမ်အမှားများကိုထိရောက်စွာတားဆီးနိုင်သည်。
</span><span><span class="hljs-comment">### အဓိက application အခြေအနေများ</span></span><span>
</span><span><span class="hljs-number">1</span></span><span>. **အသုံးပြုသူ input အချက်အလက်များကိုရှင်းလင်းပါ**
ပုံစံများမှတစ်ဆင့်သုံးစွဲသူများမှတင်ပြသောအချက်အလက်များတွင်တရားမဝင်ဇာတ်ကောင်များသို့မဟုတ်မမှန်ကန်ကြောင်း encodings များပါ 0 င်နိုင်သည်,အသုံးပြု `mb_scrub` ဤချွင်းချက်များကိုထုတ်ဖော်ပြောဆိုနိုင်သည်,ဒေတာဘေ့စ်ထိုးဆေးကိုကာကွယ်တားဆီး、XSS ထိုကဲ့သို့သောတိုက်ခိုက်မှုများအဖြစ်အန္တရာယ်များ。
</span><span><span class="hljs-number">2</span></span><span>. **ပေါင်းစည်းထားသော coding စံနှုန်းများ**
စီမံကိန်းတစ်ခုတွင်ဘာသာစကားမျိုးစုံနှင့်ဇာတ်ကောင်အစုံနှင့်အတူအလုပ်လုပ်သောအခါ,သွင်းအားစုအားလုံးသည်စည်းလုံးညီညွတ်မှု encoding နှင့်ကိုက်ညီကြောင်းသေချာပါစေ(ကဲ့သို့ UTF-</span><span><span class="hljs-number">8</span></span><span>)အလွန်အရေးကြီးသည်。`mb_scrub` သင် input ကိုတရားဝင် encoding format နဲ့အတင်းနိုင်ပါတယ်。
</span><span><span class="hljs-number">3</span></span><span>. **ပရိုဂရမ်ကိုပုံမှန်မဟုတ်သော crashing မှတားဆီး**
非法编码字符可能导致字符串လုပ်ဆောင်ချက်执行异常,အသုံးပြု `mb_scrub` preprocessing input ကို,ပရိုဂရမ်တည်ငြိမ်မှုကိုတိုးတက်စေရန်ကူညီသည်。
</span><span><span class="hljs-comment">### သတ်သတ်မှတ်မှတ်လျှောက်လွှာနည်းလမ်းဥပမာ</span></span><span>
အသုံးပြုသူမှတင်သွင်းသောပုံစံတစ်ခုရှိသည်ဆိုပါစို့ `username`,ကျနော်တို့က၎င်း၏ပါဝင်မှုလုံခြုံမှုနှင့်တရားဝင် coded ကြောင်းသေချာစေချင်တယ်,代码示例ကဲ့သို့下:
```php
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>])) {
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
</span><span><span class="hljs-comment">// သန့်ရှင်းသောကြိုးများ,တရားမဝင် encoded ဇာတ်ကောင်များကိုဖယ်ရှားပါ,default encoding ဖြစ်ပါတယ် UTF-8</span></span><span>
</span><span><span class="hljs-variable">$cleanUsername</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_scrub</span></span><span>(</span><span><span class="hljs-variable">$username</span></span><span>);
</span><span><span class="hljs-comment">// နောက်ထပ်အပြောင်းအလဲနဲ့,例ကဲ့သို့去除首尾空白</span></span><span>
</span><span><span class="hljs-variable">$cleanUsername</span></span><span> = </span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$cleanUsername</span></span><span>);
</span><span><span class="hljs-comment">// နောက်ဆက်တွဲစိစစ်အတည်ပြုသို့မဟုတ်သိုလှောင်မှုစစ်ဆင်ရေးအမူအကျင့်</span></span><span>
</span><span><span class="hljs-comment">// ...</span></span><span>
}
</span></span>
MB_Scrub ကို PHP ၏အခြား filtering functions များနှင့် တွဲဖက်. အသုံးပြုနိုင်သည်။
filter_var () : အထူးအက္ခရာများကိုစစ်ထုတ်ပါသို့မဟုတ်အချက်အလက်ပုံစံကိုစစ်ဆေးပါ
htmlspecialchars () - XSS တိုက်ခိုက်မှုများကိုကာကွယ်ပေးပြီး HTML အထူးအက္ခရာများကိုလွတ်မြောက်စေသည်
ဥပမာ -
<span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'comment'</span></span><span>] ?? </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_scrub</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>);
</span><span><span class="hljs-variable">$input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$input</span></span><span>, ENT_QUOTES, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span></span>
Web Form input filtering တွင် MB_Scrub function ကိုအဓိကအားဖြင့်အသုံးပြုသည်။
Multibyte Strings အတွက်တရားမဝင်ဇာတ်ကောင် filter
input ကိုဒေတာ၏ encoding တရားဝင်မှုကိုသေချာ
ပရိုဂရမ်၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုကိုတိုးတက်အောင်လုပ်ပါ
ဘာသာစကားမျိုးစုံနှင့်ရှုပ်ထွေးသောဇာတ်ကောင်ပတ် 0 န်းကျင်များတွင် MB_scrub ၏ဆင်ခြင်တုံတရားအသုံးပြုမှုသည်ဒေတာလုံခြုံရေးနှင့်စနစ်အားကြံ့ခိုင်မှုကိုသေချာစေရန်အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။
<span></span>