PHP Projects များတီထွင်သည့်အခါ configuration files များကဲ့သို့သောအရေးကြီးသောအချက်အလက်များ, API keys များစသည်တို့ကိုသိမ်းဆည်းထားသည့်အရေးကြီးသောအချက်အလက်များကိုသိမ်းဆည်းထားသည့်အချက်အလက်များကိုခွင့်ပြုချက်မရှိသော 0 န်ထမ်းများနှင့်အတူပာအနေဖြင့်လုံခြုံရေးအန္တရာယ်များ, အချက်အလက်ချိုးဖောက်မှုများသို့မဟုတ်အစီအစဉ်ပုံမှန်မဟုတ်သော ထို့ကြောင့် configuration file ကိုအနှောင့်အယှက်ဖြစ်စေခြင်းရှိမရှိချက်ချင်းသိရှိရန်အထူးအရေးကြီးသည်။
ဤဆောင်းပါးသည် configuration file ၏သမာဓိကိုရှာဖွေရန် PHP Built-in function MD5_File () ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ထို့ကြောင့်လျှို့ဝှက်စွာပြောင်းလဲခြင်းရှိ,
MD5_File () သည် PHP မှသတ်မှတ်ထားသောဖိုင်၏ MD5 hash value (hash) ကိုတွက်ချက်ရန်ထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ MD5 သည်ကျယ်ပြန့်စွာအသုံးပြုသော hash function ဖြစ်သည်။
ဖိုင်၏ MD5 တန်ဖိုးကို အသုံးပြု. ယခင်သိမ်းဆည်းထားသော MD5 သည် MD5 သည်လက်ရှိ MD5 နှင့်ကိုက်ညီမှုရှိမရှိနှင့်နှိုင်းယှဉ်နိုင်သည်။ ထို့နောက်ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းရှိမရှိဆုံးဖြတ်ပါ။
Configuration file သည်ပုံမှန်ဖြစ်ပြီးလုံခြုံစိတ်ချရသောဖိုင်သည်ပုံမှန်ဖြစ်ပြီးလုံခြုံစိတ်ချရသည့် MD5 တန်ဖိုးကိုသတ်မှတ်ပြီးအထူးဖိုင် ( သို့) ဒေတာဘေ့စ်သို့စာရေးခြင်းကဲ့သို့သော Save လုပ်ပါ။
Detection Phase : ပရိုဂရမ်ဖွင့်သည့်အခါတိုင်း configuration file ၏ MD5 တန်ဖိုးကိုပြန်လည်တွက်ချက်ပြီးယခင်သိမ်းဆည်းထားသောတန်ဖိုးနှင့်နှိုင်းယှဉ်ပါ။
ရလဒ်များဆိုင်ရာဆုံးဖြတ်ချက် -
MD5 သည်တညီတညွတ်တည်းဖြစ်ပါက configuration file ကိုပြုပြင်မထားပါ။
MD5 သည်ကိုက်ညီမှုမရှိပါက Configuration file ကိုအနှောင့်အယှက်ပေးနိုင်သည်။
configuration file path သည် config.php ဖြစ်သည်ဟုယူဆလျှင်, ရှာဖွေတွေ့ရှိမှုအကောင်အထည်ဖော်ရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
// configuration ဖိုင်လမ်းကြောင်း
$configFile = __DIR__ . '/config.php';
// လူသိများလုံခြုံရေးပရိုဖိုင်းများကိုကယ်တင်ပါMD5အဘိုး(အမှန်မှာ၎င်းသည်ဒေတာဘေ့စ်သို့မဟုတ်ဖိုင်တစ်ခုမှဖတ်ရှုနိုင်သည်)
$knownMd5 = 'e99a18c428cb38d5f260853678922e03'; // 示例အဘိုး,请替换为实际အဘိုး
// လက်ရှိ configuration ဖိုင်ကိုတွက်ချက်ပါMD5
$currentMd5 = md5_file($configFile);
if ($currentMd5 === false) {
echo "configuration file ကိုမဖတ်နိုင်ပါ!";
exit;
}
// ခြားနားMD5အဘိုး
if ($currentMd5 === $knownMd5) {
echo "configuration file ကိုပြုပြင်မထားဘူး,MD5အတည်ပြုအတည်ပြု。";
} else {
echo "အသိပေး!configuration file ကိုပြုပြင်ထားသည်,MD5အတည်ပြုပျက်ကွက်!";
// သင်ဒီမှာမှတ်တမ်းတစ်ခုရေးနိုင်တယ်,အီးမေးလ်များသို့မဟုတ်အခြားနှိုးစက်ပို့ပါ
}
?>
စီမံကိန်းကိုဖြန့်ချိပြီးကန ဦး MD5 တန်ဖိုးကိုရယူသည့်အခါ MD5_File () ကို သင်ပထမ ဦး စွာအသုံးပြုနိုင်သည်။
ဤဥပမာတွင် ဒေါ်လာသန်းရဂိုဒေသ သည် HardCoded ဖြစ်ပြီး၎င်းသည်အမှန်တကယ်စီမံကိန်းတွင်ဒေတာဘေ့စ်သို့မဟုတ်လုံခြုံစိတ်ချရသောဖိုင်တစ်ခုကဲ့သို့လုံခြုံစိတ်ချရသောသိုလှောင်မှုတစ်ခုသို့ရေးရန်အကြံပြုသည်။
configuration file path အပြောင်းအလဲများရှိပါကကုဒ်အတွင်းရှိလမ်းကြောင်းကိုတစ်ပြိုင်တည်းချိန်ကိုက်ရန်လိုအပ်သည်။
သင်ကယာယီ script ကိုရေးပြီး configuration file ၏ MD5 တန်ဖိုးကိုရရန်တစ်ကြိမ်လည်ပတ်နိုင်သည်။
<?php
echo md5_file(__DIR__ . '/config.php');
?>
နောက်ဆက်တွဲနှိုင်းယှဉ်မှုအတွက် output string ကိုစံအဖြစ်သိမ်းဆည်းပါ။
အချိန်ကိုက်ထောက်လှမ်းခြင်း - အချိန်မီအလွယ်တကူရှာဖွေတွေ့ရှိရန်ရှာဖွေတွေ့ရှိမှု sconts များကိုပုံမှန်ရှာဖွေခြင်း sconts များကိုပုံမှန်ရှာဖွေရန်စီစဉ်ထားသောအလုပ်များကိုအသုံးပြုပါ။
မှတ်တမ်းများနှင့်ပေါင်းစပ် : ဖိုင်ကိုပြုပြင်မွမ်းမံထားကြောင်းရှာဖွေတွေ့ရှိပြီးနောက်, လွယ်ကူသောစုံစမ်းစစ်ဆေးမှုအတွက်သက်ဆိုင်ရာသတင်းအချက်အလက် (အချိန်, IP, etc ။ ) ကိုမှတ်တမ်းတင်ပါ။
Multi-file detection : စီမံကိန်းတွင်အရေးကြီးသော configuration files များစွာရှိပါက၎င်းတို့ကိုအသုတ်များနှင့်ကွင်းဆက်ရှာဖွေတွေ့ရှိမှုတွင်သိမ်းဆည်းနိုင်သည်။
PHP တရားဝင်စာရွက်စာတမ်းများ - MD5_File ()