PHP application များဖွံ့ဖြိုးဆဲနှင့်ဖြန့်ချိချိန်တွင် PHPP_UNAME () function ကိုအသုံးပြုရန်လိုအပ်လေ့ရှိသည်။ ဤလုပ်ဆောင်ချက်သည် operating system အမည်, ဗားရှင်းနံပါတ်, Host အမည်နှင့်လက်ရှိဆာဗာ၏အခြားအချက်အလက်များကိုပြန်ပို့သည်။ သို့သော်ဤအချက်အလက်သည်အန္တရာယ်ရှိသောအသုံးပြုသူများနှင့်ထိတွေ့နိုင်သောအသုံးပြုသူများနှင့်ထိတွေ့နိုင်သည်။ ထို့ကြောင့်ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင် PHP_UNAME () function ၏ output ၏ output ၏သတင်းအချက်အလက်သတင်းအချက်အလက်များကိုဖျောက်ရန်သို့မဟုတ် filter လုပ်ရန်အစီအမံများပြုလုပ်ရန်လိုအပ်သည်။
PHP_Uname () သည်လက်ရှိ operating system နှင့်သက်ဆိုင်သောသတင်းအချက်အလက်များကိုသက်ဆိုင်ရာသတင်းအချက်အလက်များကိုပြန်လည်ရောက်ရှိစေသော PHP function ဖြစ်သည်။ ၎င်း၏ output ပါဝင်မှုတွင် operating system ၏အမည်, ဗားရှင်း, host name စသည်တို့ပါဝင်သည်။ ပုံမှန်ပုံစံမှာအောက်ပါအတိုင်းဖြစ်သည် -
echo php_uname();
ရလဒ်ဥပမာ:
Linux server1 4.15.0-123-generic #126-Ubuntu SMP Thu Nov 7 18:59:47 UTC 2019 x86_64
ဤအချက်အလက်သည် developer များထံအသုံး 0 င်နိုင်သည်။
php_uname () ၏ထွက်ရှိသည့်သတင်းအချက်အလက်အချက်အလက်များသည်အောက်ပါအထိခိုက်မခံသောအကြောင်းအရာများကိုယိုစိမ့်နိုင်သည်။
operating system type and version : တိုက်ခိုက်သူများသည်ဤအချက်အလက်များကို အသုံးပြု. မည်သည့်အားနည်းချက်များကိုစနစ်အပေါ်သက်ရောက်မှုရှိနိုင်သည်ကိုဆုံးဖြတ်ရန်ဤအချက်အလက်ကိုသုံးနိုင်သည်။
Host Name : Host Name ကိုဖော်ထုတ်ပါကတိုက်ခိုက်သူသည်ဆာဗာ၏ရုပ်ပိုင်းဆိုင်ရာတည်နေရာသို့မဟုတ်ကွန်ယက် topology ကိုအခွပေါင်းသင်းနိုင်သည်။
Kernel ဗားရှင်း - အချို့သော Kernel ဗားရှင်းများသည်လုံခြုံရေးအားနည်းချက်များကိုသိရှိထားနိုင်ပြီးတိုက်ခိုက်သူသည်ဤအချက်အလက်ကိုတိုက်ခိုက်ရန်ဤအချက်အလက်ကိုသုံးနိုင်သည်။
ထို့ကြောင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်လုံခြုံရေးတိုးတက်စေရန်အတွက် PHP_UNAME () function ၏ output ကိုဖျောက်ရန်သို့မဟုတ် filter လုပ်ရန်လိုအပ်သည်။
အများဆုံးလမ်းကြောင်းသည် PHP ၏ disable_Functions configurations configurations မှတဆင့် function ကို disable လုပ်ရန်ဖြစ်သည်။ ဤနည်းလမ်းသည် php_uname () ကိုခေါ်ခြင်းမှကာကွယ်ပေးသည်။
php.ini configuration ဖိုင်ကိုဖွင့်ပါ။
php_uname ကို disabled_Functions configurations ကိုထည့်ပါ။
disable_functions = php_uname
configuration ကိုအကျိုးသက်ရောက်စေရန် PHP သို့မဟုတ်ဝက်ဘ်ဆာဗာကိုပြန်လည်စတင်ပါ။
ဤချဉ်းကပ်မှုနှင့်အတူ PHP_UNAME () function ကိုအသုံးပြုရန်ကြိုးစားခြင်းသည်ကွပ်မျက်ခြင်းမှပြုလုပ်ရန်ကြိုးပမ်းမှုများကိုပိတ်ဆို့ခြင်းမှပိတ်ဆို့ခြင်းခံရလိမ့်မည်။
php_uname () ကို လုံးဝမပိတ်နိုင်ပါကကျွန်ုပ်တို့သည်စိတ်ကြိုက်ကုဒ်များရေးသားခြင်းဖြင့်၎င်း၏ output ကို filter သို့မဟုတ်ပြုပြင်နိုင်သည်။ ဥပမာအားဖြင့် simpler သို့မဟုတ်ပိုမိုလုံခြုံသောသတင်းအချက်အလက်များကို function ကိုပြန်လည်ရေးခြင်းဖြင့်ပြသနိုင်သည်။
if ($_SERVER['SERVER_NAME'] === 'production_server') {
echo "Server Information Hidden for Security";
} else {
echo php_uname();
}
ဤကုဒ်တွင် php_uname () output ကိုသီးခြားဆာဗာပတ် 0 န်းကျင်တွင်သာပြလိမ့်မည်။ ဒီလိုမှမဟုတ်ရင် Hidden Prompt Message ကိုပြလိမ့်မည်။
Apache Servers များအတွက်အထိခိုက်မခံတဲ့သတင်းအချက်အလက်အချို့ကို .htaccess ဖိုင်မှတဆင့်ပြသခြင်းမှပိတ်ဆို့ခြင်းကိုပိတ်ဆို့နိုင်သည်။
ဥပမာအားဖြင့် Access Control ကို Mod_Rewrite မှတဆင့်အထိခိုက်မခံနိုင်သောသတင်းအချက်အလက်များကိုဖော်ထုတ်နိုင်ခြင်းမရှိသေးစေရန် Mod_rewrite မှတဆင့်လုပ်ဆောင်သည်။
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/php_uname$
RewriteRule .* - [F]
</IfModule>
ဤပြင်ဆင်မှုသည် PHP_Uname () သို့တိုက်ရိုက်တောင်းဆိုမှုများကိုပယ်ချသည်။
Open_basedir ကန့်သတ်ချက်ကိုပြင်ဆင်ခြင်းအားဖြင့် PHP scripts သည် system အချက်အလက်များကိုဖတ်ရှုခြင်းမပြုသင့်သည့်စနစ်သတင်းအချက်အလက်များကိုဖတ်ရှုခြင်းကိုတားဆီးရန် PHP scripts သည်တိကျသောလမ်းညွှန်များကိုသာရယူနိုင်သည်။
php.ini configuration ဖိုင်ကိုဖွင့်ပါ။
Open_basedir ကို ပြင်ဆင်ပါ။
open_basedir = /path/to/your/application:/path/to/other/allowed/directories
ဤပြင်ဆင်မှုသည် PHP scripts များကိုသာသတ်မှတ်ထားသောလမ်းညွှန်များကိုသာရယူရန်ကန့်သတ်ထားလိမ့်မည်။
PHP applications ၏လုံခြုံရေးကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိလုပ်ငန်းများ၏လုံခြုံရေးကိုတိုးတက်စေရန်နှင့် PHP_UNAME () function ကိုကာကွယ်ရန်အတွက် system system အထိခိုက်မခံသောသတင်းအချက်အလက်များကို disable လုပ်ရန်, function ကို disable လုပ်ရန်, output content ကိုပြုပြင်ရန်သို့မဟုတ် configuration files များနှင့် configuration files များကိုပြုပြင်ရန်နှင့် configuration files များနှင့် configuration files များနှင့် configuration files များနှင့် configuration files များနှင့်ဝင်ရောက်ခွင့်အချက်အလက်များနှင့်အသုံးပြုမှုပုံစံများကိုသုံးနိုင်သည်။ ဤသို့ပြုလုပ်ရန်အကောင်းဆုံးနည်းလမ်းမှာအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုစိတ်မ 0 င်စားသောအသုံးပြုသူများနှင့်ထိတွေ့မှုမရှိသောနည်းလမ်းများစွာကိုပေါင်းစပ်ရန်ဖြစ်သည်။