လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အမြဲတမ်းအထိခိုက်မခံတဲ့သတင်းအချက်အလက်တွေအန္တရာယ်ရှိသလား။

အမြဲတမ်းအထိခိုက်မခံတဲ့သတင်းအချက်အလက်တွေအန္တရာယ်ရှိသလား။

M66 2025-05-24

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 () ကို အသုံးပြုသောအခါအောက်ပါအကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာရန်အကြံပြုသည်။

  1. ကိန်းဂဏန်းများအားလုံးကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိအငြင်းပွားခြင်းကိုရှောင်ပါ ။ ဤလုပ်ဆောင်မှုကိုဒေသခံသို့မဟုတ်ယုံကြည်စိတ်ချရသောဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်တွင်သာအသုံးပြုပါ။

  2. အထိခိုက်မခံသတင်းအချက်အလက်များ၏ခွဲခြားစီမံခန့်ခွဲမှု ။ အထိခိုက်မခံသော configuration ကိုသီးခြား configuration file တစ်ခုတွင်ထားပါ။ ဖိုင်ကိုစဉ်ဆက်မပြတ်သတ်မှတ်ထားကြောင်းသေချာအောင်လုပ်ပါ။

  3. ဆက်သွယ်မှုထိန်းချုပ်မှု ။ သတင်းအချက်အလက်ပါ 0 င်သည့် interfact စုအားလုံးသည်စစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်အများပြည်သူလက်လှမ်းမီမှုကိုတားမြစ်ထားရမည်။

  4. ခြွင်းချက် 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";
}
  1. Log Desensitization ။ စဉ်ဆက်မပြတ်သတင်းအချက်အလက်များ log system သို့ရေးသားထားပါက, အရေးအသားမပြုမီချေးငှားခြင်းပြုလုပ်ရန်သေချာစွာလုပ်ဆောင်ပါ။

အကျဉ်းချုပ်

Get_Defined_constants () သည်အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ Developer များကအထူးသဖြင့်အထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်သည့်အခင်းအကျင်းများတွင်၎င်းကိုအသုံးပြုသောအခါလုံခြုံရေးအန္တရာယ်များကိုအပြည့်အဝစဉ်းစားရမည်။ ကောင်းမွန်သောဝင်ရောက်ခွင့်ထိန်းချုပ်ခြင်း, output filtering နှင့်သဘာဝပတ်ဝန်းကျင်ဆိုင်ရာအထီးကျန်ခြင်းများမှတဆင့်ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းအားဖြင့်ဖြစ်ပေါ်လာသောအန္တရာယ်များကိုထိထိရောက်ရောက်လျှော့ချနိုင်ပြီးလျှောက်လွှာ၏စုစုပေါင်းလုံခြုံရေး