PHP တွင် Get_Defined_constants () သည်သတ်မှတ်ထားသောကိန်းဂဏန်းများအပါအ 0 င် (အသုံးပြုသူသတ်မှတ်ထားသောနှင့် PHP စနစ်ကြိုတင်သတ်မှတ်ထားသောကိန်းဂဏန်းများအပါအ 0 င်) နှင့်၎င်းတို့၏သက်ဆိုင်ရာတန်ဖိုးများအပါအဝင် function တစ်ခုဖြစ်သည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒီ function ဟာ debugging tools တွေကို debugging tools တွေကို debugging toods တွေကို debugging လုပ်တဲ့အခါစစ်ဆေးမှု,
Get_Defined_constants ([Bool $ အမျိုးအစား = false]): Array
ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောကိန်းဂဏန်းများကိုလက်ရှိ script တွင်ဖော်ပြထားသည်။ Parameter $ အမျိုးအစားသတ်မှတ်ချက်ကို မှန်ကန်စွာ သတ်မှတ်ထားသည့်အခါ, နိုင်ငံများ၏အရင်းအမြစ်များ၏အရင်းအမြစ်ကိုဖော်ထုတ်ရန်အတွက်ပြန်လည်နေရာချထားသည့်ခင်းကျင်းမှုကို module တစ်ခုဖြင့်ခွဲခြားလိမ့်မည်။
ဥပမာအားဖြင့်:
$constants = get_defined_constants();
print_r($constants);
ဤကုဒ်သည် E_ERROR , PHP_Version ကဲ့သို့သောကိန်းဂဏန်းများအပါအ 0 င်သတ်မှတ်ထားသောကိန်းဂဏန်းများနှင့်၎င်းတို့၏တန်ဖိုးများကိုသတ်မှတ်ထားသည် ။
System-prefefined Constants အများစုသည်အန္တရာယ်ကင်းသော်လည်းအသုံးပြုသူသတ်မှတ်ထားသောကိန်းစုများတွင်ဒေတာဘေ့စ်အထောက်အထားများ, API သော့များ, လမ်းကြောင်းများ, လမ်းကြောင်း, လမ်းကြောင်းများ,
define('DB_PASSWORD', 'SuperSecretPassword123');
define('API_KEY', 'sk_live_abc123xyz789');
Get_Defined_constants () ၏ပြန်လည်ရရှိခြင်းရလဒ်သည် debugging tool သို့မဟုတ် logging system တွင်တိုက်ရိုက်ထုတ်ယူပြီးပြင်ပအသုံးပြုသူများကိုဖော်ထုတ်နိုင်ပါကအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုပေါက်ကြားနိုင်သည်။ သုံးစွဲသူပေါင်းစုံသောပတ်ဝန်းကျင်တွင်သို့မဟုတ် debugging tools များတွင်အွန်လိုင်းဝန်းကျင်များကိုဖြန့်ချိသောအခါ၎င်းသည်အထူးသဖြင့်အန္တရာယ်ရှိသည်။
အထူးသဖြင့်အချို့သော Debug စာမျက်နှာများသို့မဟုတ်အမှားကိုင်တွယ်မှုစနစ်များတွင် developer များကကမ္ဘာလုံးဆိုင်ရာပြည်နယ်များကိုလေ့ကျင့်သင်ကြားပေးနိုင်ကြသည်။
echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
ခွင့်ပြုချက်များကထိုကဲ့သို့သော output ကိုကန့်သတ်မထားပါကတိုက်ခိုက်သူသည်အထိခိုက်မခံသောအချက်အလက်များပါ 0 င်သည့်စဉ်ဆက်မပြတ်ပါဝင်သောစာမျက်နှာကိုရယူရန်စာမျက်နှာကိုဝင်ရောက်နိုင်သည်။
PHP Debugging Tool (ဥပမာအားဖြင့်အမှားစောင့်ကြည့်သည့်မော်နီတာကဲ့သို့သော) ကို https:/debug.m66.net/debug.php တွင်တပ်ဆင်ထားပြီးအောက်ပါကုဒ်များပါ 0 င်သည်ဆိုပါစို့။
if ($_GET['debug'] === '1') {
echo '<pre>';
print_r(get_defined_constants());
echo '</pre>';
}
Debug switch ကိုဖွင့်ပြီးသည်နှင့်စာမျက်နှာသည်အမြဲတမ်းသတင်းအချက်အလက်များကိုထုတ်ဖော်ပြောဆိုလိမ့်မည်။ အကယ်. ကိန်းအချို့သည်အောက်ပါတို့ပါ 0 င်ပါက -
define('PAYMENT_GATEWAY_SECRET', 'sk_test_abc123');
define('AWS_SECRET_ACCESS_KEY', 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY');
တိုက်ခိုက်သူများသည်ဤအချက်အလက်များကိုအလွယ်တကူဖတ်ရှုနိုင်ပြီးကြီးမားသောလုံခြုံရေးအကျိုးဆက်များကိုဖြစ်ပေါ်စေသည်။
အထိခိုက်မခံသောသတင်းအချက်အလက်ယိုစိမ့်မှုကိုကာကွယ်ရန်အတွက် Get_Defined_Constants () ကို အသုံးပြုသောအခါအောက်ပါအကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာရန်အကြံပြုသည်။
ကိန်းဂဏန်းများအားလုံးကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိအငြင်းပွားခြင်းကိုရှောင်ပါ ။ ဤလုပ်ဆောင်မှုကိုဒေသခံသို့မဟုတ်ယုံကြည်စိတ်ချရသောဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်တွင်သာအသုံးပြုပါ။
အထိခိုက်မခံသတင်းအချက်အလက်များ၏ခွဲခြားစီမံခန့်ခွဲမှု ။ အထိခိုက်မခံသော configuration ကိုသီးခြား configuration file တစ်ခုတွင်ထားပါ။ ဖိုင်ကိုစဉ်ဆက်မပြတ်သတ်မှတ်ထားကြောင်းသေချာအောင်လုပ်ပါ။
ဆက်သွယ်မှုထိန်းချုပ်မှု ။ သတင်းအချက်အလက်ပါ 0 င်သည့် interfact စုအားလုံးသည်စစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်အများပြည်သူလက်လှမ်းမီမှုကိုတားမြစ်ထားရမည်။
ခြွင်းချက် filter ကို output ။ လျှို့ဝှက်ချက် , လျှို့ဝှက်, key , passwords စသည်တို့ကဲ့သို့သောအထိခိုက်မခံသောသော့ချက်စာလုံးများပါ 0 င်သည့်အပြင်အပ output ကို output လုပ်ခြင်းမပြုမီအမည်များကိုစစ်ဆေးပါ။
$constants = get_defined_constants();
foreach ($constants as $name => $value) {
if (preg_match('/(SECRET|KEY|PASSWORD)/i', $name)) {
continue;
}
echo "$name => $value\n";
}
Log Desensitization ။ စဉ်ဆက်မပြတ်သတင်းအချက်အလက်များ log system သို့ရေးသားထားပါက, အရေးအသားမပြုမီချေးငှားခြင်းပြုလုပ်ရန်သေချာစွာလုပ်ဆောင်ပါ။
Get_Defined_constants () သည်အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ Developer များကအထူးသဖြင့်အထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်သည့်အခင်းအကျင်းများတွင်၎င်းကိုအသုံးပြုသောအခါလုံခြုံရေးအန္တရာယ်များကိုအပြည့်အဝစဉ်းစားရမည်။ ကောင်းမွန်သောဝင်ရောက်ခွင့်ထိန်းချုပ်ခြင်း, output filtering နှင့်သဘာဝပတ်ဝန်းကျင်ဆိုင်ရာအထီးကျန်ခြင်းများမှတဆင့်ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းအားဖြင့်ဖြစ်ပေါ်လာသောအန္တရာယ်များကိုထိထိရောက်ရောက်လျှော့ချနိုင်ပြီးလျှောက်လွှာ၏စုစုပေါင်းလုံခြုံရေး