0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်တင်ခြင်းလုပ်ဆောင်ချက်သည်ဘုံနှင့်အရေးကြီးသော module တစ်ခုဖြစ်သော်လည်းလုံခြုံရေးအန္တရာယ်များကိုလည်းယူဆောင်လာသည်။ တိုက်ခိုက်သူသည်အန္တရာယ်ရှိသောဖိုင်များကို တင်. ဆာဗာ၏လုံခြုံရေးကိုအန္တရာယ်ပြုနိုင်သည်။ ဤစွန့်စားမှုမျိုးကိုကာကွယ်ရန်အများအားဖြင့်အသုံးပြုသောနည်းလမ်းသည်တင်ထားသောဖိုင်သည်ဖိုင်၏ hash vere (ဥပမာ MD5 ကဲ့သို့) တွင်လူသိများသောအန္တရာယ်ရှိသောဖိုင်ရှိမရှိဆုံးဖြတ်ရန်ဖြစ်သည်။
ဤဆောင်းပါးသည် MD5 value function md5_file () ကိုမည်သို့အသုံးပြုရမည်ကို MD5 value fatch list စာရင်းကိုအသုံးပြုရမည်။
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 တန်ဖိုးဖြစ်သည်။
MD5 hash တန်ဖိုးများကိုလူသိများသောအန္တရာယ်ရှိသောဖိုင်များအတွက်သိုလှောင်ထားသည့်သို့မဟုတ်ဒေတာဘေ့စ်တွင်သိမ်းထားသည်။
အသုံးပြုသူသည်ဖိုင်ကိုတင်ပို့ပြီးနောက်ဖိုင်ကိုယာယီလမ်းညွှန်သို့သိမ်းဆည်းပါ။
ဖိုင်၏ hash တန်ဖိုးကိုတွက်ချက်ရန် MD5_File () ကို သုံးပါ။
hash တန်ဖိုးကိုအန္တရာယ်ရှိတဲ့စာရင်းထဲတွင်ရှိမရှိဆုံးဖြတ်သည်။
အကယ်. ၎င်းသည်တည်ရှိပါကဖိုင်ကိုတင်ခြင်းသို့မဟုတ်ဖျက်ခြင်းမရှိပါ။ ဒီလိုမှမဟုတ်ရင်တင်ခြင်းကိုခွင့်ပြုထားသည်။
အောက်ပါဥပမာသည်ရိုးရှင်းသောဖိုင်တင်ခြင်းနှင့်အန္တရာယ်ရှိသောဖိုင်များကိုရှာဖွေတွေ့ရှိခြင်းအားပြသသည်။
<?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 အမှားကိုမဖွင့်ပါ。";
}
?>
အန္တရာယ်ရှိသောဖိုင်စာကြည့်တိုက်မွမ်းမံမှု - နောက်ဆုံးအန္တရာယ်ရှိသည့်ဖိုင် hash စာကြည့်တိုက်ကိုထိန်းသိမ်းရန်အရေးကြီးသည်။ ၎င်းကိုပုံမှန် update လုပ်ရန်အကြံပြုသည်။
MD5 collis collision use : MD5 သည်တိုက်မိခြင်းအန္တရာယ်ရှိကြောင်းသက်သေပြခဲ့ပြီးပြင်းထန်သောဖြစ်ရပ်များတွင်တိုက်ခိုက်သူတစ် ဦး သည်အလားတူ hash နှင့်အတူဖိုင်တစ်ခုတည်ဆောက်နိုင်သည်။ Sha256 ကဲ့သို့သော Saf_File ('Sha256', $ file ကို အသုံးပြု. ပိုမိုလုံခြုံသော hash function ကိုအသုံးပြုရန်စဉ်းစားပါ။ ) ) ။
ရှာဖွေတွေ့ရှိမှုယန္တရားမျိုးစုံ - hash ရှာဖွေတွေ့ရှိခြင်းမပြုပါနှင့်, ဖိုင်အမျိုးအစားစစ်ဆေးခြင်းဆိုင်ရာစစ်ဆေးမှုကိုမထားပါနှင့်။
ခွင့်ပြုချက်လုံခြုံရေး - မလိုလားအပ်သောဖိုင်များကိုတိုက်ရိုက်ကွပ်မျက်ခံရခြင်းမှကာကွယ်ရန်လမ်းညွှန်များကို upload ပို့ဆောင်ရန်သင့်လျော်သောခွင့်ပြုချက်လိုအပ်သည်။
PHP ၏ MD5_File () function ကိုအသုံးပြုခြင်းသည်လူသိများသောမကောင်းသောဖိုင်များနှင့်ကိုက်ညီမှုရှိမရှိကိုသင်ချက်ချင်းဆုံးဖြတ်နိုင်သည်။ ပြီးပြည့်စုံသောအန္တရာယ်ရှိသောဖိုင် hash စာကြည့်တိုက်နှင့်အကာအကွယ်ပေးမှုအမျိုးမျိုးကိုပေါင်းစပ်ခြင်းနှင့်အကာအကွယ်ပေးမှုအမျိုးမျိုးကိုဆာဗာသို့မထိခိုက်စေရန်အန္တရာယ်ရှိသောဖိုင်များကိုထိရောက်စွာတားဆီးနိုင်သည်။