PHP တွင် exploit function သည် strings များကိုသတ်မှတ်ထားသော delimiters အရ Array သို့ခွဲဝေချထားသည့်ဘုံ function တစ်ခုဖြစ်သည်။ exploit လုပ်ခြင်း သည်ရှုထောင့်တစ်ခုခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသော်လည်း ,
ဤဆောင်းပါးသည် multidimensital array များကို အမြတ် ထုတ်ရန်အတွက်လက်တွေ့ကျသောနည်းစနစ်များကိုမိတ်ဆက်ပေးပြီး၎င်းတို့ကိုမြန်မြန်ဆန်ဆန်ကျွမ်းကျင်စွာလိုက်နာရန်ကူညီရန်တိကျသောဥပမာများနှင့်အတူလိုက်ပါသွားလိမ့်မည်။
<?php
$str = "apple,banana,orange";
$arr = explode(",", $str);
print_r($arr);
/*
ထုတ်လုပ်ခြင်း:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
*/
?>
ဤတွင် Exploit သည် string ကိုကော်မာများဖြင့်ရှုထောင့်များကိုတစ်ရှုထောင်ခင်းကျင်းစေသည်။
ကျွန်ုပ်တို့တွင်အချက်အလက်အစုအမျိုးမျိုးကိုဖော်ပြသည့် string တစ်ခုရှိသည်ဆိုပါစို့။ အချက်အလက်အစုတခုစီတွင်ကွဲပြားခြားနားသော delimiters များနှင့်ကွဲကွာနေသောကွက်လပ်များစွာရှိသည်။
"Zhang San|18|ယောကျ်ားဖြစ်သော,li si|20|မိန်းမ,ဝမ်ဝူ|22|ယောကျ်ားဖြစ်သော"
ဤ string သည်လူ (3) ဦး ကိုကိုယ်စားပြုသည်။ တစ်ခုချင်းစီကိုနယ်ပယ် 3 ခုပါ 0 င်သည်။
အလွှာနှစ်ခုတွင်၎င်းကိုဖြုတ်ရန် အသုံးချခြင်းကို အသုံးချပါ။
<?php
$data = "Zhang San|18|ယောကျ်ားဖြစ်သော,li si|20|မိန်းမ,ဝမ်ဝူ|22|ယောကျ်ားဖြစ်သော";
// ပထမ ဦး ဆုံး comma အားဖြင့်ခွဲ,လူတိုင်းရဲ့ string ကိုရယူပါ
$people = explode(",", $data);
$result = [];
foreach ($people as $person) {
// ထို့နောက်လူတစ် ဦး ချင်းစီ၏ဂုဏ်သတ္တိများကိုဒေါင်လိုက်လိုင်းများဖြင့်ဝေပေးပါ
$result[] = explode("|", $person);
}
print_r($result);
/*
ထုတ်လုပ်ခြင်း:
Array
(
[0] => Array
(
[0] => Zhang San
[1] => 18
[2] => ယောကျ်ားဖြစ်သော
)
[1] => Array
(
[0] => li si
[1] => 20
[2] => မိန်းမ
)
[2] => Array
(
[0] => ဝမ်ဝူ
[1] => 22
[2] => ယောကျ်ားဖြစ်သော
)
)
*/
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် string ကိုနှစ်ရှုထောင်ခင်းကျင်းမှုအဖြစ်ပြောင်းလဲရန် စူးစမ်းလေ့လာရန် အသုံးပြုသည်။
အကယ်. သင်၏ string string string သည်ပိုမိုရှုပ်ထွေးပြီးကွက်လပ်များပိုမိုများပြားလာပါကသင် requestursive function ကို oncrasive function တစ်ခုကို oncapser လုပ်ပြီးအလွှာမျိုးစုံ သုံး. အလွှာအားဖြင့်ခွဲနိုင်သည်။
ဥပမာအားဖြင့် string:
"ခံစေ1:တရုတ်,သင်္ချာ;ခံစေ2:အင်္ဂလိပ်,ရူဇါဘူ"
ယူဆ ; အုပ်စုဖွဲ့ခြင်း, : မော်လီကျူးကီးတန်ဖိုးအတွဲများ ,
<?php
function multiExplode($delimiters, $string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$parts = explode($delimiters[0], $ready);
if (count($delimiters) == 1) {
return $parts;
}
array_shift($delimiters);
foreach ($parts as $key => $part) {
$parts[$key] = multiExplode($delimiters, $part);
}
return $parts;
}
$str = "ခံစေ1:တရုတ်,သင်္ချာ;ခံစေ2:အင်္ဂလိပ်,ရူဇါဘူ";
$result = multiExplode([';', ':', ','], $str);
print_r($result);
/*
ထုတ်လုပ်ခြင်း:
Array
(
[0] => Array
(
[0] => ခံစေ1
[1] => Array
(
[0] => တရုတ်
[1] => သင်္ချာ
)
)
[1] => Array
(
[0] => ခံစေ2
[1] => Array
(
[0] => အင်္ဂလိပ်
[1] => ရူဇါဘူ
)
)
)
*/
?>
ဤလုပ်ဆောင်ချက်သည်ပြောင်းလွယ်ပြင်လွယ်သောအဆင့်ဆင့် delimiters ၏ကြိုးကြိုးများ၏ကြိုးများကို multiensive splitting မှတဆင့် multsive-array သို့ပြောင်းလွယ်ပြင်သည်။
မျိုးစုံရှုထောင့်အမျိုးမျိုးကိုခွဲခြမ်းစိတ်ဖြာခြင်းကိုခွဲခြမ်းစိတ်ဖြာသောအခါသင်ခွဲစိတ်ကုသမှုများအကြောင်းသင်သိပါက စာရင်း syntax ကို အသုံးပြု. variable များကိုအလျင်အမြန်သတ်မှတ်နိုင်သည်။
<?php
$str = "Tom|25|USA";
list($name, $age, $country) = explode("|", $str);
echo "နံမယ်:$name,အသက်အရွယ်:$age,ပြည်သူပြည်သား:$country";
/*
ထုတ်လုပ်ခြင်း:
နံမယ်:Tom,အသက်အရွယ်:25,ပြည်သူပြည်သား:USA
*/
?>
ဤစာအရေးအသားနည်းလမ်းသည်ရိုးရှင်းပြီးရှင်းလင်းသည်, format format ဖြင့်တစ်ခုတည်းဒေတာခွဲခြမ်းစိတ်ဖြာမှုအတွက်သင့်လျော်သည်။
ခွဲခြမ်းစိတ်ဖို့သော query strings ကဲ့သို့သော URL parameters များကို processing သောအခါ expline သည် အလွန်အသုံးဝင်သည်။
<?php
$url = "https://gitbox.net/path/index.php?name=Tom&age=25&country=USA";
$query = parse_url($url, PHP_URL_QUERY); // စုံစမ်းမှု string ကိုရယူပါ
$params = explode("&", $query);
$result = [];
foreach ($params as $param) {
list($key, $value) = explode("=", $param);
$result[$key] = $value;
}
print_r($result);
/*
ထုတ်လုပ်ခြင်း:
Array
(
[name] => Tom
[age] => 25
[country] => USA
)
*/
?>
ဤနေရာတွင်, query string ကို key-value pair pair array အဖြစ်ခွဲထုတ်ရန် exploit ကို အသုံးပြုပါ။
ပေါက်ကွဲမှုသည် ရှုထောင့်အမျိုးမျိုးကိုပြန်လည်ရောက်ရှိစေသော်လည်းအသိုက်အားဖြင့် multidimensional Arrays များကိုဖန်တီးရန်လွယ်ကူသည်။
ကွင်းဆက်များနှင့်ရဟောရည်များကိုပေါင်းစပ်ထားသောရှုပ်ထွေးသောပုံစံများတွင်ကြိုးမဲ့ဖြစ်လွယ်စေနိုင်သောခွဲခြမ်းစိတ်ဖြာမှုကိုခွင့်ပြုသည်။
၎င်းသည်အမြန်ဒေတာထုတ်ယူမှုကိုလွယ်ကူချောမွေ့စေရန် စာရင်း နှင့်တွဲထားသည်။
URLs များသို့မဟုတ်အခြားပုံစံများကိုအလားတူပုံစံများဖြင့်ခွဲခြမ်းစိတ်ဖြာသည့်အခါ expline သည် အလွန်ထိရောက်သည်။
ဤနည်းစနစ်များကိုကျွမ်းကျင်ပြီးသည့်နောက်တွင် string string data များ၌ string data များပြုလုပ်ရန် စူးစမ်းလေ့လာသုံးသပ် နိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
explode