လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Input သန့်ရှင်းရေးနှင့်အစားထိုးခြင်းအတွက် Filter_VAR () နှင့် တွဲဖက်. MB_ereGi_replace function ကိုမည်သို့အသုံးပြုရမည်နည်း။

Input သန့်ရှင်းရေးနှင့်အစားထိုးခြင်းအတွက် Filter_VAR () နှင့် တွဲဖက်. MB_ereGi_replace function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-23

PHP တွင်အသုံးပြုသူ input ကိုထုတ်ယူသောအခါ input content သည်မျှော်လင့်ထားသည့်ပုံစံနှင့်အတူလုံခြုံမှုနှင့်အညီနှစ်မျိုးလုံးသည်မျှော်လင့်ထားသည့်ပုံစံနှင့်အတူပိုမိုလုံခြုံစိတ်ချရသောသော့ချက်ဖြစ်သည်။ အထူးသဖြင့် Multi-byte string ကိုပြုပြင်ခြင်းနှင့် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ခြင်းအတွက် MB_ereGi_replace () နှင့် filter_var () ပေါင်းစပ်ခြင်းသည်ပြောင်းလွယ်ပြင်လွယ်။ ခိုင်မာသည့်ဖြေရှင်းနည်းကိုပေးနိုင်သည်။

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


1 ။ နိဒါန်း

mb_eregi_replace ()

MB_eregi_replace () သည် case-multi- eregi_replace () တွင်ဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သောပုံမှန်အစားထိုးလုပ်ငန်းများကိုလုပ်ဆောင်သည်။ ၎င်းသည် UTF-8 encoding ကိုထောက်ပံ့ပေးပြီးတရုတ်သို့မဟုတ်အခြားဘာသာစကားအမျိုးမျိုးရှိသောဇာတ်ကောင်များပါ 0 င်သည့်ကြိုးများကိုကိုင်တွယ်ရန်အကောင်းဆုံးဖြစ်သည်။

 mb_eregi_replace(string $pattern, string $replacement, string $string, ?string $options = null): string

filter_var ()

Filter_VAR () သည် PHP မှပေးသော filters filter များထဲမှတစ်ခုဖြစ်သည်။ ၎င်းကိုအီးမေးလ်, URL, IP နှင့်အခြားအမျိုးအစားများကိုအတည်ပြုရန်အသုံးပြုနိုင်ပြီးအန္တရာယ်ရှိသောကုဒ်အတိုအထွာများကိုလည်းဖယ်ရှားနိုင်သည်။

 filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed

2 ။ လက်တွေ့ကျသော application အခြေအနေများ

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

  1. မကောင်းသောစကားလုံးများကို (အမှိုက်သရိုက် "," Scammer "စသည်ဖြင့်အစားထိုးပါ။ );

  2. တရားဝင် URL လိပ်စာကိုအတည်ပြုပြီးထိန်းသိမ်းထားပါ။

  3. ရလဒ်များသည်သန့်ရှင်း။ လုံခြုံပြီးအသုံးပြုသူအတွက်ဖော်ရွေဖြစ်ကြောင်းသေချာပါစေ။

ကျွန်ုပ်တို့သည်ဤရည်မှန်းချက်နှင့်အတူယုတ္တိဗေဒကိုသန့်ရှင်းရေးလုပ်ပါမည်။


3 ။ နမူနာကုဒ်

MB_eregi_replace () နှင့် filter_var () ကို ပေါင်းစပ်နည်းပြသည့်ဥပမာပြည့်စုံသောဥပမာတစ်ခုရှိသည်။

 <?php
// မူရင်းအသုံးပြုသူ input ကို
$input = "သင်အသုံးပြုသူကိုအမှိုက်,လျင်မြန်စွာသွားပါm66.net/spamအစီရင်ခံစာ!အပြင်m66.net/အဆိုပါ scammer စာမျက်နှာထွက်စစ်ဆေးပါ。";

// ပိတ်ဆို့ရန်ဝေါဟာရ(တရုတ်ကိုထောက်ပံ့ပါ)
$badWords = ['အမှုိက်', 'လိမ်ညာမှု'];

// Asterisks နှင့်အထိခိုက်မခံသောစကားလုံးများကိုအစားထိုးပါ
foreach ($badWords as $word) {
    $pattern = preg_quote($word, '/');
    $input = mb_eregi_replace($pattern, str_repeat('*', mb_strlen($word)), $input);
}

// ထုတ်ပြန်URLအတည်ပြုရန်,လုံခြုံသော link တစ်ခုဖြင့်အစားထိုးပါ
$input = preg_replace_callback('/(https?:\/\/)?(m66\.net\/[^\s]+)/i', function ($matches) {
    $url = 'http://' . $matches[2]; // ထည့်သည်httpအတည်ပြုရန်ရှေ့ဆက်
    if (filter_var($url, FILTER_VALIDATE_URL)) {
        return '<a href="' . htmlspecialchars($url) . '" target="_blank">' . htmlspecialchars($url) . '</a>';
    }
    return '';
}, $input);

// ရလဒ်ရလဒ်
echo $input;
?>

4 ။ output ကိုဥပမာ

အသုံးပြုသူ input ကိုဆိုပါစို့:

 ခင်ဗျားတို့**အသုံးပြုသူ,လျင်မြန်စွာသွားပါ<a href="http://m66.net/spam" target="_blank">http://m66.net/spam</a>အစီရင်ခံစာ!အပြင်<a href="http://m66.net/****" target="_blank">http://m66.net/****</a>စာမျက်နှာကိုကြည့်ပါ。
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    filter_var