လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အထိခိုက်မခံသောသတင်းအချက်အလက်များကို log files များဖြင့်အစားထိုးပါ (ဥပမာ IP address, token)

အထိခိုက်မခံသောသတင်းအချက်အလက်များကို log files များဖြင့်အစားထိုးပါ (ဥပမာ IP address, token)

M66 2025-06-02

log files များကိုပြုပြင်သည့်အခါကျွန်ုပ်တို့သည်အသုံးပြုသူ၏ IP address, authentication token ကဲ့သို့သောအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုမလိုအပ်နေသောအခြေအနေများနှင့်မကြာခဏဆိုသလိုကျွန်ုပ်တို့မကြာခဏကြုံတွေ့ရသည်။ ဤအချက်အလက်သည်ကိုယ်ရေးကိုယ်တာကိစ္စနှင့်လုံခြုံရေးပြ issues နာများကိုဖြစ်ပေါ်စေနိုင်သည်။

PHP သည် string processing လုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။ MB_eregi_replace သည်ပုံမှန်စကားရပ်အစားထိုးခြင်းနှင့်အထူးသဖြင့်တရုတ်စသည့်အကြောင်းအရာများပါ 0 င်သော content processing အတွက်အထူးသဖြင့်သင့်လျော်သောယူနီဆက်နည်းသောဇာတ်ကောင်များကိုထောက်ပံ့သည်။

ဤဆောင်းပါးသည် MB_ereGi_replace ကို log content တွင်ရှာဖွေရန်နှင့်အစားထိုးရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။

နမူနာမှတ်တမ်းအကြောင်းအရာ

ကျွန်ုပ်တို့တွင်အောက်ပါ snippet တွင်အောက်ပါ snippet ရှိသည်ဆိုပါစို့။

 [2025-05-27 10:00:00] User login from 192.168.1.100 with token abc123xyz
[2025-05-27 10:05:00] Failed login from 10.0.0.5 with token 9f8d7e6c5b

IP address နှင့် token ကို၎င်းကို [Redacted_ip ] နှင့်အစားထိုးလိုသည်။

အစားထိုးရန် MB_EREGI_re_replace ကိုသုံးပါ

PHP ၏ mb_eregi_replace လုပ်ရပ်ကိုအောက်ပါအတိုင်းအသုံးပြုသည်။

 string mb_eregi_replace ( string $pattern , string $replace , string $string [, string $option = "msr" ] )

မှတ်တမ်းများကိုရေးရန်အတွက်ဥပမာပြည့်စုံသော script တစ်ခုဖြစ်သည်။

 <?php

// စာဖတ်ခြင်းမှတ်တမ်းအကြောင်းအရာကိုတုပလော့
$log = <<<LOG
[2025-05-27 10:00:00] User login from 192.168.1.100 with token abc123xyz
[2025-05-27 10:05:00] Failed login from 10.0.0.5 with token 9f8d7e6c5b
LOG;

// ပုံမှန်ပွဲစဉ် IPv4 စကားပေြာဟော
$pattern_ip = '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b';

// ပုံမှန်ပွဲစဉ် token(အရှည်အက္ခရာများနှင့်နံပါတ်များပါဝင်သည်ဟုယူဆ 8 ရောက်လာ 32)
$pattern_token = '\b[a-zA-Z0-9]{8,32}\b';

// ပြန်လည်နေရာချ IP စကားပေြာဟော
$log = mb_eregi_replace($pattern_ip, '[REDACTED_IP]', $log);

// ပြန်လည်နေရာချ token,Timestamp တွင်နံပါတ်များကိုမတော်တဆထိခိုက်နာကျင်မှုကိုရှောင်ရှားရန်သတိထားပါ
$log = mb_eregi_replace('with token ' . $pattern_token, 'with token [REDACTED_TOKEN]', $log);

// ရလဒ်ရလဒ်
echo nl2br(htmlspecialchars($log));

?>

ရလဒ်ရလဒ်

output ကိုဤကဲ့သို့သောပုံကိုကြည့်ရှုလိမ့်မည်:

 [2025-05-27 10:00:00] User login from [REDACTED_IP] with token [REDACTED_TOKEN]
[2025-05-27 10:05:00] Failed login from [REDACTED_IP] with token [REDACTED_TOKEN]

လက်တွေ့ကျသောလျှောက်လွှာအကြံပြုချက်များ

အမှန်တကယ်စီမံကိန်းများတွင်ကျွန်ုပ်တို့သည်ပုံမှန်အားဖြင့်မူရင်းမှတ်တမ်းဖိုင်တွင်တိုက်ရိုက်မလုပ်ဆောင်နိုင်သော်လည်းမှတ်တမ်းဖတ်ရှုခြင်းနှင့်စွန့်ပစ်ခြင်းလုပ်ငန်းစဉ်မှတဆင့်အကြောင်းအရာများကိုလုပ်ဆောင်ပါ။ ဥပမာအားဖြင့်အထက်ပါယုတ္တိဗေဒကို function တစ်ခုထဲသို့သင် adapsult လုပ်နိုင်ပြီး၎င်းကို log display စာမျက်နှာအတွက်သုံးနိုင်သည်။

 function sanitize_log($logContent) {
    $pattern_ip = '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b';
    $pattern_token = '\b[a-zA-Z0-9]{8,32}\b';

    $logContent = mb_eregi_replace($pattern_ip, '[REDACTED_IP]', $logContent);
    $logContent = mb_eregi_replace('with token ' . $pattern_token, 'with token [REDACTED_TOKEN]', $logContent);

    return $logContent;
}

// ဥပမာခေါ်ဆိုမှု
$rawLog = file_get_contents("https://m66.net/logs/example.log");
echo nl2br(htmlspecialchars(sanitize_log($rawLog)));

အကျဉ်းချုပ်

MB_eregi_replace သည် အထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်သည့်မှတ်တမ်းအကြောင်းအရာများကိုအကောင်အထည်ဖော်ရန်အတိုချုပ်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသောပုံမှန်စကားရပ်ကိုက်ညီမှုဖြင့် IP နှင့် Tokens ကဲ့သို့သောသော့ချက်အချက်အလက်များကိုအသုံးပြုသူ privacy ကိုကာကွယ်ရန်နှင့်မှတ်တမ်းများသည်ဖွံ့ဖြိုးတိုးတက်ရေးနှင့်ပြုပြင်ထိန်းသိမ်းမှုအတွက်အသုံး 0 င်နေဆဲဖြစ်သည်။

အသုံးပြုသောအခါအာရုံစိုက်ပါ။

  • အစားထိုး mode သည်အခြားဥပဒေရေးရာအချက်အလက်များကိုမှားယွင်းစွာပျက်စီးစေမည်မဟုတ်ကြောင်းသေချာပါစေ။

  • mb_ereg_rereplace ကကိစ္စမရှိပါဘူး။ သင်စာလုံးအကြီးအသေးအရေးကြီးဖြစ်လိုပါက MB_ereg_replace ကို သုံးနိုင်သည်။

  • PHP 8.0 ပြီးနောက်ဤလုပ်ဆောင်မှုကိုမထောက်ခံပါ။ PREG_replace ဖြင့် PCRE စီးရီးလုပ်ဆောင်ချက်များကိုအသုံးပြုရန်အကြံပြုသည်။ သို့သော်၎င်းသည်ရိုးရှင်းသော script များ၌အဆင်ပြေပြီးလက်တွေ့ကျဆဲဖြစ်သည်။