လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရိုးရှင်းသော file communtection detection tool ကိုတည်ဆောက်ပါ

ရိုးရှင်းသော file communtection detection tool ကိုတည်ဆောက်ပါ

M66 2025-06-06

နေ့စဉ် 0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ပြုပြင်ထိန်းသိမ်းမှုနှင့်ပြုပြင်ထိန်းသိမ်းမှုတွင်ဖိုင်သည်စနစ်လုံခြုံရေး၏အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။ ဖိုင်တစ်ခုအားအနှောင့်အယှက်ဖြစ်စေသည်နှင့်တပြိုင်နက်၎င်းသည်စနစ်ကိုတိုက်ခိုက်ခံရခြင်းသို့မဟုတ်ဒေတာများကိုချိုးဖောက်သည်ဟုဆိုလိုသည်။ ဤအခြေအနေကိုရင်ဆိုင်ရန် PHP ၏ Built-in MD5D5_File () function ကိုသုံးနိုင်သည်။

1 ။ MD5_File function ကဘာလဲ။

MD5_File () သည် PHP မှသတ်မှတ်ထားသောဖိုင်၏ MD5 hash တန်ဖိုးကိုတိုက်ရိုက်တွက်ချက်ရန် PHP မှပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 md5_file(string $filename, bool $binary = false): string|false
  • $ filename : တွက်ချက်ခံရဖို့ဖိုင်လမ်းကြောင်း။

  • $ binary : hash ကိုမူလ binary format နဲ့ပြန်ပို့ဖို့ရှိမရှိ (ပုံမှန်အားဖြင့် မှားယွင်း သည်, 32-bit hexadecimal-string ကိုပြန်ပို့ခြင်း) ။

ဥပမာ -

 $hash = md5_file('example.txt');
echo $hash;

2 ။ ကိရိယာဒီဇိုင်းစိတ်ကူးများ

ကျနော်တို့ကိရိယာကိုအဆင့်နှစ်ဆင့်ဖြင့်ဒီဇိုင်းရေးဆွဲခဲ့သည်။

  1. Benchmark Verification Code (အခြေခံ) ကိုထုတ်လုပ်ရန် (အခြေခံ) - သူတို့ကိုစောင့်ကြည့်စစ်ဆေးရန်နှင့်၎င်းတို့ကို JSON ဖိုင်သို့သိမ်းဆည်းရန်ဖိုင်အားလုံး၏ MD5 တန်ဖိုးများကိုမှတ်တမ်းတင်ပါ။

  2. Periodic detection : လက်ရှိဖိုင်၏ MD5 တန်ဖိုးကိုပြန်လည်တွက်ချက်ပါ။ ၎င်းကိုအခြေခံဖိုင်နှင့်နှိုင်းယှဉ်ပါ, ၎င်းကိုပြုပြင်မွမ်းမံခြင်း, ဖျက်ခြင်းသို့မဟုတ်ထည့်သွင်းခြင်းရှိမရှိဆုံးဖြတ်ပါ။

3 ။ အကောင်အထည်ဖော်မှုအဆင့်များ

1 ။ လမ်းညွှန်ကိုစကင်ဖတ်စစ်ဆေးပြီးအခြေခံဖိုင်ကိုထုတ်လုပ်ပါ

 function generateBaseline($dir, $baselineFile = 'baseline.json') {
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    $hashes = [];

    foreach ($files as $file) {
        if ($file->isFile()) {
            $path = str_replace('\\', '/', $file->getRealPath());
            $hashes[$path] = md5_file($path);
        }
    }

    file_put_contents($baselineFile, json_encode($hashes, JSON_PRETTY_PRINT));
    echo "အခြေခံဖိုင်ကိုထုတ်လုပ်ပြီးဖြစ်သည်: {$baselineFile}\n";
}

// အသုံးပြုမှုဥပမာ
generateBaseline(__DIR__ . '/files');

ဤလုပ်ဆောင်မှုသည် ဖိုင်များ directory ရှိဖိုင်များအားလုံးကိုဖတ်ပြီးဖိုင်တစ်ခုစီ၏လမ်းကြောင်းနှင့်၎င်း၏ MD5 တန်ဖိုးကို baseline.json သို့အပြည့်အစုံရေးသည်။

2 ။ ပြောင်းလဲမှုများရှာဖွေတွေ့ရှိ

 function checkIntegrity($dir, $baselineFile = 'baseline.json') {
    if (!file_exists($baselineFile)) {
        echo "အခြေခံဖိုင်ကိုမတွေ့ပါ,ကျေးဇူးပြုပြီးအခြေခံဖြစ်。\n";
        return;
    }

    $baseline = json_decode(file_get_contents($baselineFile), true);
    $current = [];

    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    foreach ($files as $file) {
        if ($file->isFile()) {
            $path = str_replace('\\', '/', $file->getRealPath());
            $current[$path] = md5_file($path);
        }
    }

    // ပြုပြင်ထားသောသို့မဟုတ်ဖျက်လိုက်သောဖိုင်များကို detect လုပ်ပါ
    foreach ($baseline as $path => $hash) {
        if (!isset($current[$path])) {
            echo "[ဖျက်] {$path}\n";
        } elseif ($current[$path] !== $hash) {
            echo "[ပြန်လည်စစ်ဆေးကြည့်ရှု] {$path}\n";
        }
    }

    // ဖိုင်အသစ်များကို detect
    foreach ($current as $path => $hash) {
        if (!isset($baseline[$path])) {
            echo "[သစ်သော] {$path}\n";
        }
    }
}

// အသုံးပြုမှုဥပမာ
checkIntegrity(__DIR__ . '/files');

developer များသည်အချိန်မီတိုင်းတာမှုများပြုလုပ်နိုင်ရန်အတွက်ဤရှာဖွေမှု script သည် hashes နှင့် output အသစ်များနှင့် output များကိုနှိုင်းယှဉ်ထားသည့်ဖိုင်တစ်ခုစီကိုနှိုင်းယှဉ်ခြင်း,

4 ။ မြင်ကွင်းသို့မဟုတ်ဝေးလံခေါင်သီအစီရင်ခံခြင်း (optional ကို)

စမ်းသပ်ရလဒ်များကိုအီးမေးလ်, log files များသို့မဟုတ်ဝက်ဘ်စာမျက်နှာများမှတဆင့်ပြသနိုင်သည်။ ဥပမာအားဖြင့်:

 file_put_contents('integrity_report.log', $report);
header('Location: https://m66.net/report-viewer');

အထက်ပါကုဒ်သည်ရှာဖွေတွေ့ရှိမှုအစီရင်ခံစာကို log file သို့ redirect လုပ်ပြီး https://m66.net/report-Viewer ကဲ့သို့သောအစီရင်ခံစာကြည့်ရှုသူစာမျက်နှာသို့ redirect ။

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

MD5_File () function မှတဆင့်ကျွန်ုပ်တို့သည် code အနည်းငယ်ဖြင့်ထိရောက်သောဖိုင်သမာဓိစစ်ဆေးမှုကိရိယာတစ်ခုတည်ဆောက်နိုင်သည်။ ၎င်းသည်ပရော်ဖက်ရှင်နယ်လုံခြုံရေးကာကွယ်စောင့်ရှောက်ရေးကိရိယာများကို အစားထိုး. မရပါ, အမှန်တကယ်ဖြန့်ကျက်မှုတွင် script ကို Cron Task အဖြစ်ပုံမှန်လည်ပတ်ရန်နှင့်လုံခြုံရေးယန္တရားများ (ဥပမာအီးမေးလ်သို့မဟုတ် Dingtalk စက်ရုပ်များကဲ့သို့သောလုံခြုံရေးကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အကြံပြုပါသည်။