လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MD5_File () တင်ထားသောဖိုင်သည်လူသိများသောအန္တရာယ်ရှိသောဖိုင်ရှိမရှိရှာဖွေရန် MD5_File () ကိုသုံးပါ

MD5_File () တင်ထားသောဖိုင်သည်လူသိများသောအန္တရာယ်ရှိသောဖိုင်ရှိမရှိရှာဖွေရန် MD5_File () ကိုသုံးပါ

M66 2025-05-29

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်တင်ခြင်းလုပ်ဆောင်ချက်သည်ဘုံနှင့်အရေးကြီးသော module တစ်ခုဖြစ်သော်လည်းလုံခြုံရေးအန္တရာယ်များကိုလည်းယူဆောင်လာသည်။ တိုက်ခိုက်သူသည်အန္တရာယ်ရှိသောဖိုင်များကို တင်. ဆာဗာ၏လုံခြုံရေးကိုအန္တရာယ်ပြုနိုင်သည်။ ဤစွန့်စားမှုမျိုးကိုကာကွယ်ရန်အများအားဖြင့်အသုံးပြုသောနည်းလမ်းသည်တင်ထားသောဖိုင်သည်ဖိုင်၏ hash vere (ဥပမာ MD5 ကဲ့သို့) တွင်လူသိများသောအန္တရာယ်ရှိသောဖိုင်ရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။

ဤဆောင်းပါးသည် MD5 value function md5_file () ကိုမည်သို့အသုံးပြုရမည်ကို MD5 value fatch list စာရင်းကိုအသုံးပြုရမည်။


1 ။ နိဒါန်း MD5_File ()

MD5_File () သည် PHP ရှိ function တစ်ခုဖြစ်သည်။ MD5 () , MD5 () MD5 () MD5 () MD5 () သည် MD5_File () သည် file content ၏ hash ကိုတိုက်ရိုက်တွက်ချက်သည်။ ဖိုင်သည်တသမတ်တည်းကိုရှာဖွေရန်သင့်လျော်သည်။

အသုံးပြုမှုဥပမာ:

 $hash = md5_file('/path/to/file.txt');
echo $hash;

Return Value သည် File Content ၏ 32-bit hexadecimal MD5 တန်ဖိုးဖြစ်သည်။


2 ။ အကောင်အထည်ဖော်မှုစိတ်ကူးများ

  1. MD5 hash တန်ဖိုးများကိုလူသိများသောအန္တရာယ်ရှိသောဖိုင်များအတွက်သိုလှောင်ထားသည့်သို့မဟုတ်ဒေတာဘေ့စ်တွင်သိမ်းထားသည်။

  2. အသုံးပြုသူသည်ဖိုင်ကိုတင်ပို့ပြီးနောက်ဖိုင်ကိုယာယီလမ်းညွှန်သို့သိမ်းဆည်းပါ။

  3. ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ရန် MD5_File () ကို သုံးပါ။

  4. hash တန်ဖိုးကိုအန္တရာယ်ရှိတဲ့စာရင်းထဲတွင်ရှိမရှိဆုံးဖြတ်သည်။

  5. အကယ်. ၎င်းသည်တည်ရှိပါကဖိုင်ကိုတင်ခြင်းသို့မဟုတ်ဖျက်ခြင်းမရှိပါ။ ဒီလိုမှမဟုတ်ရင်တင်ခြင်းကိုခွင့်ပြုထားသည်။


3 ။ Code ဥပမာ

အောက်ပါဥပမာသည်ရိုးရှင်းသောဖိုင်တင်ခြင်းနှင့်အန္တရာယ်ရှိသောဖိုင်များကိုရှာဖွေတွေ့ရှိခြင်းအားပြသသည်။

 <?php
// အန္တရာယ်ရှိတဲ့ဖိုင်တွေကိုလူသိများတယ် MD5 စာရင်း(နမူနာ)
$malicious_md5_list = [
    'd41d8cd98f00b204e9800998ecf8427e', // 空文件နမူနာ
    '5d41402abc4b2a76b9719d911017c592', // 其他恶意文件နမူနာ
];

// ဖိုင်များတင်ထားရှိမရှိဆုံးဖြတ်ပါ
if (isset($_FILES['upload_file']) && $_FILES['upload_file']['error'] === UPLOAD_ERR_OK) {
    $tmpFilePath = $_FILES['upload_file']['tmp_name'];

    // ဖိုင်ကိုတွက်ချက်ပါ MD5 အဘိုး
    $fileMd5 = md5_file($tmpFilePath);

    // ဒါအန္တရာယ်ရှိတဲ့ဖိုင်ရှိမရှိစစ်ဆေးပါ
    if (in_array($fileMd5, $malicious_md5_list)) {
        echo "တင်ထားသောဖိုင်ကိုလူသိများသော file တစ်ခုအဖြစ်ရှာဖွေတွေ့ရှိသည်,တင်ပါးမအောင်မြင်ပါ。";
        // သင်ယာယီဖိုင်များသို့မဟုတ်မှတ်တမ်းမှတ်တမ်းများကိုဖျက်ရန်သင်ရွေးချယ်နိုင်သည်
        unlink($tmpFilePath);
    } else {
        // ဖိုင်ကိုပစ်မှတ်လမ်းညွှန်သို့ရွှေ့ပါ
        $destination = __DIR__ . '/uploads/' . basename($_FILES['upload_file']['name']);
        if (move_uploaded_file($tmpFilePath, $destination)) {
            echo "အောင်မြင်စွာဖိုင်တင်ပါ。";
        } else {
            echo "ဖိုင်ချွေတာမှုမအောင်မြင်ပါ。";
        }
    }
} else {
    echo "မည်သည့် upload ဖိုင်ကိုရှာဖွေတွေ့ရှိသို့မဟုတ် upload အမှားကိုမဖွင့်ပါ。";
}
?>

4 ။ မှတ်စုများ

  • အန္တရာယ်ရှိသောဖိုင်စာကြည့်တိုက်မွမ်းမံမှု - နောက်ဆုံးအန္တရာယ်ရှိသည့်ဖိုင် hash စာကြည့်တိုက်ကိုထိန်းသိမ်းရန်အရေးကြီးသည်။ ၎င်းကိုပုံမှန် update လုပ်ရန်အကြံပြုသည်။

  • MD5 collis collision use : MD5 သည်တိုက်မိခြင်းအန္တရာယ်ရှိကြောင်းသက်သေပြခဲ့ပြီးပြင်းထန်သောဖြစ်ရပ်များတွင်တိုက်ခိုက်သူတစ် ဦး သည်အလားတူ hash နှင့်အတူဖိုင်တစ်ခုတည်ဆောက်နိုင်သည်။ Sha256 ကဲ့သို့သော Saf_File ('Sha256', $ file ကို အသုံးပြု. ပိုမိုလုံခြုံသော hash function ကိုအသုံးပြုရန်စဉ်းစားပါ။ ) ) ။

  • ရှာဖွေတွေ့ရှိမှုယန္တရားမျိုးစုံ - hash ရှာဖွေတွေ့ရှိခြင်းမပြုပါနှင့်, ဖိုင်အမျိုးအစားစစ်ဆေးခြင်းဆိုင်ရာစစ်ဆေးမှုကိုမထားပါနှင့်။

  • ခွင့်ပြုချက်လုံခြုံရေး - မလိုလားအပ်သောဖိုင်များကိုတိုက်ရိုက်ကွပ်မျက်ခံရခြင်းမှကာကွယ်ရန်လမ်းညွှန်များကို upload ပို့ဆောင်ရန်သင့်လျော်သောခွင့်ပြုချက်လိုအပ်သည်။


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

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