လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MD5_File မှတဆင့်တင်ထားသောဖိုင်များ၏သမာဓိကိုမည်သို့စစ်ဆေးရမည်နည်း။

MD5_File မှတဆင့်တင်ထားသောဖိုင်များ၏သမာဓိကိုမည်သို့စစ်ဆေးရမည်နည်း။

M66 2025-05-31

ဖိုင်တင်ခြင်းသည် 0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်အသုံးများသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ သို့သော်တင်ထားသောဖိုင်များ၏သမာဓိနှင့်လုံခြုံမှုကိုမည်သို့သေချာစေနိုင်သနည်း။ လွှဲပြောင်းချိန်၌ဖိုင်ကိုအနှောင့်အယှက်ဖြစ်စေနိုင်သည်။ သို့မဟုတ်အန္တရာယ်ရှိသောဖိုင်ကိုတင်ထားသည်။ PHP သည် MD5_File () ကိုထောက်ပံ့ပေးသော MD5_File () ကိုထောက်ပံ့ပေးနိုင်သည်။

MD5_File () ကဘာလဲ။

MD5_File () သည် PHP built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသောဖိုင်၏ MD5 hash တန်ဖိုးကိုတိုက်ရိုက်တွက်ချက်ပြီး 32-bit string ကိုပြန်ပို့သည်။ MD5 hash တန်ဖိုးကိုဖိုင်အကြောင်းအရာသည်တသမတ်တည်းရှိမရှိရှာဖွေရန်အသုံးပြုနိုင်သည်။ အကယ်. ဖိုင်အကြောင်းအရာကိုပြောင်းလဲမှုများရှိပါကသက်ဆိုင်ရာ MD5 တန်ဖိုးသည်ကွဲပြားလိမ့်မည်။

function ရှေ့ပြေးပုံစံ:

 string md5_file ( string $filename [, bool $raw_output = false ] )
  • $ filename : ဖိုင်လမ်းကြောင်း။

  • $ Raw_output : မူလ binary format ကိုပြန်ပို့ဖို့လား, default မှ false default မှ 32-bit hexadecimal string ကိုပြန်ပို့သည်။

ကြည့်ရှုပါ

  1. တင်ထားသောဖိုင်များ၏သမာဓိကိုစစ်ဆေးပါ အသုံးပြုသူသည်ဖိုင်ကို upload လုပ်သည့်အခါဆာဗာသည်တင်ထားသောဖိုင်၏ MD5 တန်ဖိုးကိုတွက်ချက်ပြီးဖိုင်ကိုအနှောင့်အယှက်မပေးနိုင်မီ 0 န်ဆောင်မှုခံယူသည့် MD5 တန်ဖိုးကိုတွက်ချက်သည်။

  2. ထပ်တူ uploads များကိုတားဆီးပါ မလိုအပ်သောသိုလှောင်မှုကိုရှောင်ရှားရန်ဆာဗာတွင်တူညီသောအကြောင်းအရာများရှိပြီးသားဖိုင်များရှိ, မရှိဆုံးဖြတ်ရန် MD5 တန်ဖိုးကိုသုံးပါ။

  3. ဘေးကင်းလုံခြုံရေးစမ်းသပ်ခြင်း <br> <br> အန္တရာယ်ရှိသောဖိုင်များကို filter လုပ်ရန် MD5 တန်ဖိုးစာကြည့်တိုက်နှင့်ဖိုင်တစ်ခု၏ MD5 တန်ဖိုးကို MD5 တန်ဖိုးစာကြည့်တိုက်နှင့်နှိုင်းယှဉ်နိုင်သည်။

ဥပမာ - MD5_File () ကို upload လုပ်ခြင်းများကိုစစ်ဆေးရန် MD5_File () ကိုသုံးပါ

အောက်တွင်ဖော်ပြထားသည်မှာ File Delectricity ကိုအတည်ပြုရန် MD5_File () ကို အသုံးပြု. ရိုးရိုးရှင်းရှင်းဖိုင်တင်ခြင်းဥပမာတစ်ခုဖြစ်သည်။

 <?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['upload_file'])) {
    $uploadDir = '/var/www/uploads/';
    $uploadedFile = $_FILES['upload_file']['tmp_name'];
    $originalName = $_FILES['upload_file']['name'];

    // တင်ထားသောဖိုင်ကိုတွက်ချက်ပါ md5 အဘိုး
    $md5Hash = md5_file($uploadedFile);

    // ဤတွင်သင် client ကိုမှပေးပို့နိုင်ပါတယ်md5အဘိုး比对,client ကိုလာမယ့်ဆိုပါစို့md5အဘိုး
    $clientMd5 = $_POST['client_md5'] ?? '';

    if ($clientMd5 && $md5Hash !== $clientMd5) {
        echo "တင်ထားသောဖိုင်၏သမာဓိစစ်ဆေးခြင်းမအောင်မြင်ပါ,ဖိုင်ကိုအနှောင့်အယှက်ပေးခဲ့ကြပေမည်。";
        exit;
    }

    // ထပ်ခါတလဲလဲ uploads တားဆီး(ဥပမာအားဖြင့်ရိုးရှင်းသောအသုံးပြုမှုmd5ဖိုင်အမည်အဖြစ်)
    $destination = $uploadDir . $md5Hash;

    if (file_exists($destination)) {
        echo "ဖိုင်ပြီးသားရှိပြီးသား,ထပ်ခါတလဲလဲ upload လုပ်ဖို့မလိုအပ်ပါ。";
    } else {
        if (move_uploaded_file($uploadedFile, $destination)) {
            echo "အောင်မြင်စွာဖိုင်တင်ပါ,MD5အဘိုး为:$md5Hash";
        } else {
            echo "ဖိုင်တင်ခြင်းမအောင်မြင်ပါ。";
        }
    }
} else {
?>
<form method="post" enctype="multipart/form-data" action="http://m66.net/upload.php">
    ကျေးဇူးပြု. ဖိုင်တစ်ခုရွေးပါ:<input type="file" name="upload_file" required><br>
    စာချုပ်စာတမ်းMD5အတည်ပြုရန်ကုတ်(မလုပ်မနေရမဟုတ်သော):<input type="text" name="client_md5"><br>
    <button type="submit">တင်ပါ</button>
</form>
<?php
}
?>

ဥပမာ -

  • Front-end အသုံးပြုသူများသည်ဖိုင်၏ MD5 ကိုတွက်ချက်ရန်ကိရိယာများကို ဦး စွာ အသုံးပြု. client_md5 ကွက်လပ်ကိုဖြည့်ဆည်းပေးနိုင်သည်။ ဆာဗာဘေးထွက်သည်တင်ထားသောဖိုင်၏ MD5 ကိုဤတန်ဖိုးနှင့်နှိုင်းယှဉ်ပါလိမ့်မည်။

  • ဆာဗာသည်ဖိုင်၏ MD5 တန်ဖိုးကိုဖိုင်များထပ်ခါတလဲလဲတင်ခြင်းကိုကာကွယ်ရန်အတွက်သိမ်းဆည်းထားသောအမည်ကိုအသုံးပြုသည်။

  • Move_UPLOADED_File () function ကို function သည်ဖိုင်များကိုယာယီလမ်းညွှန်များမှပစ်မှတ်ထားလမ်းညွှန်များသို့ပြောင်းရွှေ့ရန်သေချာသည်။

နောက်ထပ်လုံခြုံရေးအကြံဥာဏ်

  • ဖိုင်အမျိုးအစားများကိုကန့်သတ်ထားသည်

  • ဖိုင်အရွယ်အစားကိုကန့်သတ်ပါ ။ အလွန်အကျွံဖိုင်များကိုတင်ခြင်းမှဆာဗာဖိအားကိုတားဆီးပါ။

  • HTTPS ကိုသုံးပါ ။ ဖိုင်လွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ကိုလူ -In-in-the-the-the- အလယ်ကမတိုက်ခိုက်ပါနှင့်။

  • အန္တရာယ်ရှိသောဖိုင်စာကြည့်တိုက်ကိုပုံမှန်မွမ်းမံပါ - အန္တရာယ်ရှိသောဖိုင်များကို filter လုပ်ရန်လူသိများသောဗိုင်းရပ်စ်ဒေတာဘေ့စ်များနှင့်နှိုင်းယှဉ်ကြည့်ရှုရန် MD5 ကိုသုံးပါ။

  • Upload လမ်းညွှန်ကိုတိုက်ရိုက်လက်လှမ်းမီမှုကိုရှောင်ပါ ။ လုံခြုံသောသိုလှောင်မှုလမ်းကြောင်းများနှင့်ခွင့်ပြုချက်ထိန်းချုပ်မှုများကိုသုံးပါ။