နေ့စဉ်ဝက်ဘ်ဖြဲမှုသို့မဟုတ်ဆာဗာလည်ပတ်မှုနှင့်ပြုပြင်ထိန်းသိမ်းမှုများတွင်တစ်ခါတစ်ရံတွင်သုံးစွဲသူများမှတင်ထားသောဖိုင်များသည်ဗိုင်းရပ်စ်များသို့မဟုတ်အန္တရာယ်ရှိသောအကြောင်းအရာများအခမဲ့ဖြစ်ကြောင်းသေချာစေရန်လိုအပ်သည်။ PHP ကိုယ်တိုင်ကဗိုင်းရပ်စ်နှိမ်နင်းရေးကိရိယာတစ်ခုမဟုတ်ပေမဲ့ MD5_File () function ကိုပေါင်းစပ်ခြင်းဖြင့်ရိုးရှင်းသောဗိုင်းရပ်စ်ထောက်လှမ်းရေးယန္တရားကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤဆောင်းပါးသည် PHP ၏ MD5_File () function ကိုမည်သို့အသုံးပြုရမည်ကိုဗိုင်းရပ်စ်စာကြည့်တိုက်နှင့်ပူးပေါင်းရန်ဗိုင်းရပ်စ်စာကြည့်တိုက်နှင့်ပူးပေါင်းရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
PHP ၏ MD5_File () function သည်ဖိုင်တစ်ခု၏ MD5 hash တန်ဖိုးကိုတွက်ချက်နိုင်သည်။ ဤ Hash တန်ဖိုးသည်ဖိုင်အမျိုးအစား၏ဒစ်ဂျစ်တယ်လက်ဗွေဖြစ်သည်။ အကယ်. ဖိုင်အမျိုးအစားပြောင်းလဲမှုကိုပြောင်းလဲလျှင်၎င်းသည် MD5 တန်ဖိုးသည်လည်းပြောင်းလဲလိမ့်မည်။ ၎င်းကိုဗိုင်းရပ်စ်စာကြည့်တိုက်ရှိလူသိများသောဗိုင်းရပ်စ်ဖိုင်၏ MD5 တန်ဖိုးကို MD5 တန်ဖိုးနှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်ဖိုင်သည်လူသိများသောဗိုင်းရပ်စ်ရှိမရှိဆုံးဖြတ်နိုင်သည်။
$md5 = md5_file('upload/test.exe');
echo "ဖိုင် MD5 တန်ဖိုး: " . $md5;
ဗိုင်းရပ်စ်စာကြည့်တိုက်သည် MD5 တန်ဖိုးများကိုလူသိများသောဗိုင်းရပ်စ်ဖိုင်များစာရင်းဖြစ်သည်။ ၎င်းကို M66.net/virusdb.txt စသည့်ပွင့်လင်းသောအရင်းအမြစ်အသိုင်းအဝိုင်းများသို့မဟုတ်လုံခြုံရေးအဖွဲ့အစည်းများမှရနိုင်သည်။ ဟုတ်ပါတယ်, သင့်ကိုယ်ပိုင်ဗိုင်းရပ်စ်ဒေတာဘေ့စ်ကိုလည်းလိုအပ်သလိုထိန်းသိမ်းထားနိုင်ပါတယ်။
ဗိုင်းရပ်စ်စာကြည့်တိုက်တစ်ခု၏ပုံစံသည်ပုံမှန်အားဖြင့်လိုင်းတစ်ခုစီအတွက် MD5 တန်ဖိုးတစ်ခုဖြစ်သည်။
5f4dcc3b5aa765d61d8327deb882cf99
e99a18c428cb38d5f260853678922e03
098f6bcd4621d373cade4e832627b4f6
တင်ပို့သောဖိုင်သည်ဗိုင်းရပ်စ်တစ်ခုဖြစ်ပါကရှာဖွေတွေ့ရှိရန် PHP သည်အပြည့်အစုံဖြစ်သည်။
function isVirus($filePath, $virusDbPath = 'http://m66.net/virusdb.txt') {
if (!file_exists($filePath)) {
return false;
}
$fileMd5 = md5_file($filePath);
// ဗိုင်းရပ်စ်စာကြည့်တိုက်အကြောင်းအရာကိုရယူပါ
$virusDb = file($virusDbPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if ($virusDb === false) {
die("ဗိုင်းရပ်စ်စာကြည့်တိုက်ကိုဖွင့ ်. မရပါ!");
}
// ခြားနား MD5 ၎င်းသည်ဗိုင်းရပ်စ်ဒေတာဘေ့စ်တွင်တည်ရှိသည်ဖြစ်စေ
return in_array($fileMd5, $virusDb);
}
// အသုံးပြုမှုဥပမာ
$uploadFile = 'upload/test.exe';
if (isVirus($uploadFile)) {
echo "အသိပေး:ဤဖိုင်သည်ဗိုင်းရပ်စ်ပိုးဖြစ်နိုင်သည်!";
} else {
echo "ဖိုင်လုံခြုံရေး。";
}
Vireus Database Update : ရှာဖွေတွေ့ရှိသောရလဒ်များကိုသေချာစေရန်ဗိုင်းရပ်စ်ဒေတာဘေ့စ်ကိုပုံမှန် update လုပ်သင့်သည်။
ဖိုင်အရွယ်အစားကန့်သတ်ချက် - MD5_File () သည် ဖိုင်တစ်ခုလုံးကိုဖတ်ရှုနိုင်ပြီးကြီးမားသောဖိုင်များသည်မှတ်ဥာဏ်ပိုမိုသုံးစွဲနိုင်သည်။
လူသိများသောဗိုင်းရပ်စ်များနှင့်သက်ဆိုင်သည် - ဤနည်းလမ်းသည်မသိသောဗိုင်းရပ်စ်များသို့မဟုတ်မျိုးကွဲများကိုရှာဖွေတွေ့ရှိခြင်းမရှိပါ။ သူတို့ကိုပရော်ဖက်ရှင်နယ်ဗိုင်းရပ်စ်နှိမ်နင်းရေးဆော့ဖ်ဝဲလ်သို့မဟုတ် API တို့ဖြင့်အသုံးပြုရန်အကြံပြုသည်။
Remote စာဖတ်ခြင်း - ဗိုင်းရပ်စ်စာကြည့်တိုက်ကိုဝေးလံ ခေါင် သီသောဆာဗာတစ်ခုတွင်တည်ရှိပါကဆာဗာသည်တည်ငြိမ်ပြီးအမှားအယွင်းများကိုကောင်းစွာကိုင်တွယ်ပါ။
PHP ၏ MD5_File () function မှတဆင့်ဗိုင်းရပ်စ်စာကြည့်တိုက်နှင့်ပေါင်းစပ်ထားသော function မှတစ်ဆင့်ကျွန်ုပ်တို့သည်အခြေခံ File Virus Detection function ကိုလျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။ ဤနည်းလမ်းသည်ပရော်ဖက်ရှင်နယ်ဗိုင်းရပ်စ်နှိမ်နင်းရေးဆော့ဖ်ဝဲဆော့ဖ်ဝဲကို အစားထိုး. မရပါ, ပိုမိုမြင့်မားသောလုံခြုံရေးလိုအပ်ချက်များရှိသောအခြေအနေများတွင်ကျွမ်းကျင်မှုလုံခြုံရေးဆိုင်ရာစစ်ဆေးရေး 0 န်ဆောင်မှုများကိုပိုမိုရယူရန်အကြံပြုသည်။