လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> 0 က်ဘ်ဆိုက်၏တည်ငြိမ်သောအရင်းအမြစ်များနှင့်အတူအနှောင့်အယှက်ဖြစ်စေခြင်းရှိမရှိစောင့်ကြည့်လေ့လာရန် PHP ၏ MD5_File () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

0 က်ဘ်ဆိုက်၏တည်ငြိမ်သောအရင်းအမြစ်များနှင့်အတူအနှောင့်အယှက်ဖြစ်စေခြင်းရှိမရှိစောင့်ကြည့်လေ့လာရန် PHP ၏ MD5_File () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-23

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ထိန်းသိမ်းခြင်းတွင်တည်ငြိမ်သောအရင်းအမြစ်များ၏သမာဓိရှိသည့်သဘာ 0 အရင်းအမြစ်များ (ဥပမာ CSS, JavaScript ဖိုင်များ, ရုပ်ပုံများစသည်တို့) ၏သမာဓိကို 0 က်ဘ်ဆိုက်၏လုံခြုံရေးနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ သို့သော်များသောအားဖြင့် static အရင်းအမြစ်များသည်အသုံးပြုသူများကိုပုံမှန်မဟုတ်သောအကြောင်းအရာများကိုပုံမှန်မဟုတ်သောအကြောင်းအရာများကို 0 င်စေပြီးလုံခြုံရေးအန္တရာယ်များကိုပင်ဖြစ်ပေါ်စေသည်။ ဤဆောင်းပါးသည် 0 က်ဘ ဆိုက်၏တည်ငြိမ်သောအရင်းအမြစ်များနှင့်အတူအနှောင့်အယှက်ပေးမှုရှိ,

MD5_File () function ကဘာလဲ။

MD5_File () သည် PHP တွင်ဖိုင်တစ်ခု၏ MD5 hash တန်ဖိုးကိုတွက်ချက်ရန် Function ဖြစ်သည်။ ဖိုင်၏ 32-bit hexadecimal-string ကိုပြန်ပို့ခြင်းဖိုင်လမ်းကြောင်း parameter ကိုလက်ခံသည်။ ဖိုင်၏ MD5 တန်ဖိုးကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်ဖိုင်အမျိုးအစားပြောင်းလဲသွားပြီလားဆိုတာကိုမြန်မြန်ဆန်ဆန်ဆုံးဖြတ်နိုင်တယ်။

လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်

  • 0 ဘ်ဆိုဒ်သည်အွန်လိုင်းတွင်ရှိပြီးနောက်ပုံမှန်အရင်းအမြစ်များကိုအနှောင့်အယှက်ပေးရန်ပုံမှန်အရင်းအမြစ်များကိုပုံမှန်ရှာဖွေကြသည်။

  • ဗားရှင်းဖိုင်များကိုနှိုင်းယှဉ်။ ဖြန့်ကျက်ဖိုင်၏သမာဓိကိုအတည်ပြုပါ။

  • Third-party စာကြည့်တိုက်ဖိုင်များ၏လုံခြုံရေးကိုစောင့်ကြည့်ပါ။

အဓိကစိတ်ကူး

  1. ပထမ ဦး စွာ Calculate နှင့် static အရင်းအမြစ်ဖိုင်ပေါ်တွင်ကန ဦး MD5 တန်ဖိုးကိုတွက်ချက်ခြင်းနှင့်သိမ်းဆည်းခြင်း။

  2. ဤဖိုင်များကိုပုံမှန်ဖြတ်သန်းပြီး MD5 တန်ဖိုးကိုပြန်လည်တွက်ချက်ပါ။

  3. နောက်ဆုံးပေါ်မှကယ်တင်ထားသောသူများနှင့်နောက်ဆုံးပေါ် MD5 တန်ဖိုးများကိုနှိုင်းယှဉ်ကြည့်ပါ။

  4. အကယ်. MD5 တန်ဖိုးများသည်ကိုက်ညီမှုမရှိပါကဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်အတိုချုပ်ထားသည်။

နမူနာကုဒ်

အောက်ပါဥပမာသည် PPP ကိုအသုံးပြုရမည်ကိုဖော်ပြထားသည် မှာ PPP ကို အသုံးပြုရမည်ကိုပြသသည်။

 <?php
// စောင့်ကြည့်လေ့လာရေးလမ်းညွှန်
$directory = __DIR__ . '/static';

// သိုထားMD5ဖိုင်ဖိုင်(သိုလှောင်မှုပုံစံဖြစ်ပါတယ် json)
$md5RecordFile = __DIR__ . '/md5_records.json';

// သမိုင်းကိုဖတ်ပါMD5စံချိန်
$oldMd5Records = file_exists($md5RecordFile) ? json_decode(file_get_contents($md5RecordFile), true) : [];

// directory အတွက် static ဖိုင်များကိုရယူပါ
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
$changedFiles = [];
$newMd5Records = [];

foreach ($files as $file) {
    if ($file->isFile()) {
        $filePath = $file->getPathname();
        // လက်ရှိဖိုင်ကိုတွက်ချက်ပါMD5အဘိုး
        $md5 = md5_file($filePath);

        // စံချိန်当前MD5
        $relativePath = str_replace($directory . DIRECTORY_SEPARATOR, '', $filePath);
        $newMd5Records[$relativePath] = $md5;

        // ပိုများသောMD5အသစ်နှင့်အတူMD5
        if (!isset($oldMd5Records[$relativePath]) || $oldMd5Records[$relativePath] !== $md5) {
            $changedFiles[] = $relativePath;
        }
    }
}

// output detection ရလဒ်များ
if (count($changedFiles) > 0) {
    echo "အောက်ပါဖိုင်များကိုပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်ထည့်သွင်းထားသည်:\n";
    foreach ($changedFiles as $changedFile) {
        echo "- " . $changedFile . "\n";
    }
} else {
    echo "ဖိုင်အားလုံးမပြောင်းလဲကြဘူး。\n";
}

// သိုထား最新MD5စံချိန်
file_put_contents($md5RecordFile, json_encode($newMd5Records, JSON_PRETTY_PRINT));
?>

ဥပမာ -

  • တည်ငြိမ်သော လမ်းညွှန်သည် static အရင်းအမြစ်များကိုသိုလှောင်ထားသည့်လမ်းညွှန်တစ်ခုဖြစ်သည်။

  • MD5 Record file MD5_Records.json ကိုပိုမိုလွယ်ကူစွာနှိုင်းယှဉ်မှုများအတွက် MD5 တန်ဖိုးကိုသိမ်းဆည်းရန်အသုံးပြုသည်။

  • ဤ script သည်ပြောင်းလဲထားသောဖိုင်များစာရင်းကိုဖော်ပြထားသည်။

  • သင်သည်ဤ script ကိုအလိုအလျောက်စောင့်ကြည့်လေ့လာခြင်းကိုရရှိရန်အတွက်အချိန်ကာလကိုအချိန်ဇယားအတိုင်းသတ်မှတ်ထားနိုင်သည်။

နောက်ထပ်တိုးချဲ့ခြင်း

  1. အလိုအလျောက်နှိုးစက် <br> <br> ဖိုင်ကိုပြုပြင်ရန်ရှာဖွေတွေ့ရှိသောအခါအုပ်ချုပ်ရေးမှူးအားအလားအလာရှိသောအန္တရာယ်များကိုသေချာစွာကိုင်တွယ်ရန်အီးမေးလ်သို့မဟုတ်စာသားမက်ဆေ့ခ်ျဖြင့်အကြောင်းကြားနိုင်သည်။

  2. whitelist စီမံခန့်ခွဲမှု <br> မကြာခဏပြောင်းလဲနေသည့်အချို့သောစာရွက်စာတမ်းများအတွက်မူလုံခြုံရေးကိုမထိခိုက်ပါ, သို့သော်မှားယွင်းသောနှိုးစက်များကိုရှောင်ရှားရန် Whitelist ကိုဖန်တီးပါ။

  3. အားကောင်းတဲ့ cryptographic hashing algorithm <br> အကယ်. လုံခြုံရေးလိုအပ်ချက်များသည်ပိုမိုမြင့်မားပါက MD5_File ('Sha256', $ filpath) ကို သင်အသုံးပြုနိုင်သည်။

  4. ဗားရှင်းထိန်းချုပ်မှုစနစ်နှင့်အတူပေါင်းစပ် <br> Static အရင်းအမြစ်များကိုစီမံခန့်ခွဲရန် Git ကဲ့သို့သောကိရိယာများကို အသုံးပြု. ဖိုင်လုံခြုံရေးကိုသေချာစေရန် MD5_File () ကို ပေါင်းစပ်ပါ။

အကျဉ်းချုပ်

PHP ၏ MD5_File () function ကိုအသုံးပြုခြင်းသည် 0 ဘ်ဆိုဒ်များရှိငြိမ်ပတ်အရင်းအမြစ်များကိုစစ်ဆေး။ ရှာဖွေတွေ့ရှိရန်နှင့်ရှာဖွေတွေ့ရှိရန်လွယ်ကူစွာနှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ Developeries သည်ဖိုင်များ၏အချိန်တိုအတွင်းကိုအချိန်မီစိတ် 0 င်စားမှုနှင့် 0 က်ဘ်ဆိုက်အကြောင်းအရာ၏သမာဓိနှင့်လုံခြုံမှုကိုသေချာစေရန်အတွက် developer များရှာဖွေတွေ့ရှိရန်ကူညီနိုင်သည်။ အလိုအလျောက် script များနှင့်နှိုးစက်ယန္တရားများနှင့်ပူးပေါင်းပါ 0 င်သောဝက်ဘ်ဆိုက်လုံခြုံရေးပြုပြင်ထိန်းသိမ်းမှု၏ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။