PHP တွင် PHP_UNAME () function သည် server ၏ operating system အချက်အလက်များကို Kernel ဗားရှင်း, operating system အမျိုးအစားနှင့် host name အပါအ 0 င်ဆာဗာ၏လည်ပတ်မှုစနစ်သတင်းအချက်အလက်များကိုပြန်လည်ရောက်ရှိစေသည်။ ဤအချက်အလက်သည်ဆာဗာ၏လုံခြုံရေးအတွက်အလားအလာရှိသောအန္တရာယ်များကိုဖြစ်ပေါ်စေသည်။ တိုက်ခိုက်သူများသည်အားနည်းချက်များကိုရှာဖွေရန်သို့မဟုတ်ထပ်မံတိုက်ခိုက်ရန်ဤအချက်အလက်များကိုအသုံးပြုနိုင်သည်။ ထို့ကြောင့်ဤအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုကာကွယ်ရန်အရေးကြီးသည်။
အများအားဖြင့်အများဆုံးနည်းလမ်းမှာ php_uname () function ကို disable လုပ်ရန်ဖြစ်သည်။ PHP configuration file php.ini ကိုပြုပြင်မွမ်းမံခြင်းဖြင့်၎င်းကိုအောင်မြင်နိုင်သည်။ သတ်သတ်မှတ်မှတ်စစ်ဆင်ရေးများမှာအောက်ပါအတိုင်းဖြစ်သည် -
php.ini ဖိုင်ကိုဖွင့်ပါ။
Disabled_Functions ParameterKs ကိုရှာဖွေပြီးသတ်မှတ်ပါ။ Php_uname ကို စာရင်းထဲသို့ထည့်ပါ။
ဥပမာအားဖြင့်:
disable_functions = php_uname
ဤလုပ်ဆောင်မှုကိုပိတ်ထားပြီးနောက် php_uname ကိုအသုံးပြုရန်ကြိုးစားသည့်မည်သည့်ကုဒ်မဆို PHP_UNAME ကို အသုံးပြုသောမည်သည့်ကုဒ်မဆိုအမှားတစ်ခုဖြစ်ပြီးအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်စေသောသတင်းအချက်အလက်များကိုရှောင်ရှားနိုင်သည်။
Suhosin သည် PHP အတွက်လုံခြုံရေးတိုးမြှင့်ပေးသည့် PHP အတွက်လုံခြုံရေးတိုးချဲ့မှုဖြစ်သည်။ Suhosin ကိုအသုံးပြုခြင်းအားဖြင့်အချို့သောအထိခိုက်မခံသော PHP လုပ်ဆောင်ချက်များကို PHP_Uname () အပါအ 0 င်ကန့်သတ်ထားနိုင်သည်။
Suhosin ကို install လုပ်ပြီးပါကအန္တရာယ်ရှိသောလုပ်ငန်းဆောင်တာများကိုသေချာစွာပိတ်ထားနိုင်သည်သို့မဟုတ် configuration files များမှတဆင့်အချို့သောစစ်ဆင်ရေးများကိုကန့်သတ်နိုင်သည်။ ဥပမာအားဖြင့်, Suhosin.ini configuration file တွင် -
suhosin.executor.func.blacklist = php_uname
ဤနည်းအားဖြင့် Suhosin သည် PHP_UNAME ၏ကွပ်မျက်ခြင်းကိုတားဆီးလိမ့်မည်။
အကယ်. သင်သည် php_uname () ကို အကြောင်းပြချက်အချို့ကြောင့်အသုံးပြုရပါကအသုံးပြုသူသည်ဤ output ကိုတိုက်ရိုက်မ 0 င်နိုင်ကြောင်းသေချာစေပါ။ အသုံးပြုသူအားတိုက်ရိုက်တင်ပြမည့်အစားခွင့်ပြုချက်စီမံခန့်ခွဲမှုသို့မဟုတ် output အထိခိုက်မခံသောသတင်းအချက်အလက်များကို log file သို့သုံးနိုင်သည်။ ဥပမာအားဖြင့်, output ကို script ကို controled လုပ်နိုင်သည်, အုပ်ချုပ်ရေးမှူးများသို့မဟုတ်သက်ဆိုင်သူများသာလျှင်ဤအချက်အလက်များကို 0 င်ရောက်နိုင်ရန်ခွင့်ပြုသည်။
ပိုမိုယိုစိမ့်မှုအန္တရာယ်ကိုထပ်မံလျှော့ချရန်အသေးစိတ်စနစ်အချက်အလက်များကိုမပြန်ရန် PHP ၏ default configuration ကိုပြုပြင်ရန်အကြံပြုသည်။ အောက်ပါရွေးချယ်မှုများကိုသတ်မှတ်ခြင်းဖြင့်ပေါက်ကြားသတင်းအချက်အလက်များကိုလျှော့ချနိုင်သည်။
Error_reporting : အထိခိုက်မခံတဲ့အမှားအယွင်းများကိုရှောင်ရှားရန်အမှားအယွင်းများကိုညှိပါ။
Displate_Ers : ERRESS display ကို disable လုပ်ပြီးအမှားမှတ်တမ်းများသာ logged နေကြသည်။
display_errors = Off
error_reporting = E_ALL & ~E_NOTICE
Code-level ပြုပြင်မွမ်းမံမှုများအပြင်သင် code-level server လုံခြုံရေးဖြင့်စတင်နိုင်သည်။ ဤတွင်အချို့သောအပိုဆောင်းအစီအမံများမှာ -
operating system နှင့် PHP ဗားရှင်းကို update : operating system နှင့် PHP ဗားရှင်းကိုပုံမှန်အားဖြင့်လူသိများသောအားနည်းချက်များကိုသေချာစေရန်ပုံမှန် update လုပ်ပါ။
ဖိုင်နှင့် directory permissions - ခွင့်ပြုထားသောအသုံးပြုသူများသာအထိခိုက်မခံသောဖိုင်များကိုသာရယူနိုင်ရန်အတွက်သင့်တော်သောဖိုင်နှင့်လမ်းညွှန်ခွင့်ပြုချက်များကိုသတ်မှတ်ပါ။
firewall ကိုအသုံးပြုခြင်း - ဆာဗာကိုပြင်ပလက်လှမ်းမီမှုကိုကန့်သတ်ရန် Firewall ကိုဖြန့်ပါ။
စောင့်ကြည့်လေ့လာခြင်းစနစ်လှုပ်ရှားမှုများ - စနစ်လှုပ်ရှားမှုများကိုပုံမှန်စောင့်ကြည့်လေ့လာပြီးပုံမှန်မဟုတ်သောအပြုအမူများကိုချက်ချင်းစစ်ဆေးပါ။
အချို့ဖြစ်ရပ်များတွင် PHP ၏လုပ်ဆောင်ချက်အချို့သည်ပြင်ပ URLs များ ( file_get_contentents) , curl ကဲ့သို့သောပြင်ပ URLs များနှင့်ဆက်သွယ်နိုင်သည်။ ဤ URL များ၏ဒိုမိန်းများ၏အမည်များကိုယုံကြည်စိတ်ချရသောဒိုမိန်းအမည်များဖြင့်အစားထိုးရန်သေချာစေရန်လိုအပ်သည်။ မူရင်း URL ကို http://example.com/sensitive_Data ဟုယူဆသည်။ Domain Name ကို M66.net ဖြင့်အစားထိုးခြင်းဖြင့်အမှန်တကယ်ဒိုမိန်းအမည်အချက်အလက်များကိုမပေါက်စေနိုင်ပါ။
ဥပမာအားဖြင့်မူရင်းကုဒ် -
$url = "http://example.com/sensitive_data";
$response = file_get_contents($url);
ပြုပြင်မွမ်းမံပြီးနောက်:
$url = "http://m66.net/sensitive_data";
$response = file_get_contents($url);