PHP တွင်အသုံးပြုသူ input ကိုထုတ်ယူသောအခါ input content သည်မျှော်လင့်ထားသည့်ပုံစံနှင့်အတူလုံခြုံမှုနှင့်အညီနှစ်မျိုးလုံးသည်မျှော်လင့်ထားသည့်ပုံစံနှင့်အတူပိုမိုလုံခြုံစိတ်ချရသောသော့ချက်ဖြစ်သည်။ အထူးသဖြင့် Multi-byte string ကိုပြုပြင်ခြင်းနှင့် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ခြင်းအတွက် MB_ereGi_replace () နှင့် filter_var () ပေါင်းစပ်ခြင်းသည်ပြောင်းလွယ်ပြင်လွယ်။ ခိုင်မာသည့်ဖြေရှင်းနည်းကိုပေးနိုင်သည်။
ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုမှတစ်ဆင့်တင်ပြသောအချက်အလက်များကိုထိရောက်စွာသန့်ရှင်းစင်ကြယ်စွာသန့်ရှင်းစင်ကြယ်စေပြီးအစားထိုးရန်နှင့်အစားထိုးရန်မည်သို့အစားထိုးမည်ကိုသရုပ်ပြပါလိမ့်မည်။
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 () သည် PHP မှပေးသော filters filter များထဲမှတစ်ခုဖြစ်သည်။ ၎င်းကိုအီးမေးလ်, URL, IP နှင့်အခြားအမျိုးအစားများကိုအတည်ပြုရန်အသုံးပြုနိုင်ပြီးအန္တရာယ်ရှိသောကုဒ်အတိုအထွာများကိုလည်းဖယ်ရှားနိုင်သည်။
filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed
အသုံးပြုသူမှတင်သွင်းသောမှတ်ချက်ပေးသည့်အကြောင်းအရာကိုကျွန်ုပ်တို့လုပ်ဆောင်လိုပါကအောက်ပါအဆင့်များကိုဖြည့်စွက်ရန်လိုအပ်သည်ဆိုပါစို့။
မကောင်းသောစကားလုံးများကို (အမှိုက်သရိုက် "," Scammer "စသည်ဖြင့်အစားထိုးပါ။ );
တရားဝင် URL လိပ်စာကိုအတည်ပြုပြီးထိန်းသိမ်းထားပါ။
ရလဒ်များသည်သန့်ရှင်း။ လုံခြုံပြီးအသုံးပြုသူအတွက်ဖော်ရွေဖြစ်ကြောင်းသေချာပါစေ။
ကျွန်ုပ်တို့သည်ဤရည်မှန်းချက်နှင့်အတူယုတ္တိဗေဒကိုသန့်ရှင်းရေးလုပ်ပါမည်။
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;
?>
အသုံးပြုသူ 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