PHP ပရိုဂရမ်တွင် Exec Function သည်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP Extral function ၏ပြန်လာတန်ဖိုးကိုနက်နက်ရှိုင်းရှိုင်းခွဲခြမ်းစိတ်ဖြာပြီး developer များပိုမိုအသုံးချရန်အတွက်အသုံးပြုမှုဆိုင်ရာအကြံပြုချက်များကိုဝေမျှလိမ့်မည်။
PHP ၏ Exec Function သည်ပြင်ပပရိုဂရမ်များကို execute လုပ်ရန်နှင့်၎င်းတို့၏ရလဒ်များကိုပြန်ပို့ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များက PHP scripts တွင် system command များကို Excover သို့မဟုတ်အခြား executable files များကိုသုံးနိုင်သည်။ Exec function ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည် command ၏ output ကိုရနိုင်ရုံသာမကကွပ်မျက်အဆင့်အတန်းနှင့် command ၏ပြန်လာတန်ဖိုးကိုလည်းရနိုင်သည်။
Exec function ကို၏အခြေခံ syntax သည် -
exec(string $command, array &$output = null, int &$return_var = null)
ဤလုပ်ဆောင်ချက်တွင် $ command parameter သည်ကွပ်မျက်ရန်လိုအပ်သည့် command သည် command ၏ output ၏ output ၏ရလဒ်ရလဒ်များကိုသိုလှောင်ရန်လိုအပ်သော parameter ဖြစ်သည်။
Exec Function ၏ပြန်လာတန်ဖိုးသည်၎င်း၏နောက်ဆုံးလိုင်း၏ output ကိုဖြစ်သည်။ အဘယ်သူမျှမ output ကိုသို့မဟုတ်ကွပ်မျက်မအောင်မြင်ပါကပြန်ပြောင်းတန်ဖိုးသည်မှားသည်။ $ return_var parameter မှတစ်ဆင့် command ၏ Execution status ကိုစစ်ဆေးနိုင်သည်။
0: command ကွပ်မျက်အောင်မြင်သည်
1 နှင့်အထက် - အမှားတစ်ခုအရသတ်သတ်မှတ်မှတ်အမှားကုဒ်သည်ကွပ်မျက်ခံရသည့် command ပေါ်တွင်မူတည်သည်
Exec function ကို အသုံးပြု. Shell command ကို အသုံးပြု. Return Value ကိုရယူရန်မည်သို့ပြသနိုင်သည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
$command = "ls -l"; // လက်ရှိလမ်းညွှန်၏အသေးစိတ်ကိုစာရင်းပြုစုပါ
$output = [];
$return_var = 0;
$result = exec($command, $output, $return_var);
if ($return_var === 0) {
echo "command ကွပ်မျက်အောင်မြင်သည်:\n";
print_r($output); // output command ကိုရလဒ်
} else {
echo "Command ကွပ်မျက်မှုမအောင်မြင်ပါ,Value ကိုပြန်သွားပါ: $return_var\n";
}
Exec function ကိုအသုံးပြုသောအခါ, အပြောင်းအလဲနဲ့ command output ကို၏မှန်ကန်မှုကိုသေချာစွာသေချာပါစေ။ ပိုမိုလွယ်ကူသည့်နောက်ဆက်တွဲအပြောင်းအလဲနဲ့အဘို့အ Row output ကိုဖမ်းယူဖို့ $ output parameter ကိုသုံးပါ။ array output ကို impline function ကိုပေါင်းစပ်။ string ကို string ကိုအဖြစ်ပြောင်းလဲနိုင်ပါတယ်။
$outputString = implode("\n", $output);
EXEC လုပ်ဆောင်ချက်များကိုအသုံးပြုသောအခါလုံခြုံရေးပြ issues နာများကိုအထူးဂရုပြုပါ။ command injection တိုက်ခိုက်မှုများကိုရှောင်ရှားရန်အသုံးပြုသူထည့်သွင်းမှုများကိုတင်းကြပ်စွာစစ်ဆေးရန်နှင့်စစ်ထုတ်ရန်အထူးပြုလုပ်ရန်အထူးအကြံပြုလိုပါသည်။ အသုံးပြုသူ input ကို process လုပ်ရန် EsSuShelling function ကိုအသုံးပြုခြင်းသည်ထိရောက်သောကြိုတင်ကာကွယ်မှုနည်းလမ်းဖြစ်သည်။
$userInput = escapeshellarg($userInput);
PHP Exec Function သည်ပြင်ပ command များကို execute လုပ်ရန်နှင့်ရလဒ်များကိုရရန်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ Exec Function ၏ပြန်လာတန်ဖိုးကိုနားလည်ပြီး၎င်း၏အင်္ဂါရပ်များကိုကောင်းစွာအသုံးပြုခြင်းကိုကောင်းစွာအသုံးပြုခြင်းသည် developeries များကိုသူတို့၏နေ့စဉ်အလုပ်တွင်ပိုမိုထိရောက်စေသည်။ Exec Functions များကိုအသုံးပြုသောအခါလျှောက်လွှာ၏လုံခြုံစိတ်ချရသောလည်ပတ်မှုကိုသေချာစေရန်လုံခြုံရေးကိုဂရုပြုရန်သတိရပါ။