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

အမြတ်ထုတ်ခြင်း function ကိုအလွဲသုံးစားလုပ်ခြင်းကြောင့် Array မှ 0 က်ဘ်အကင်းသီးများကနေရှောင်ရှားရန်။ လက်တွေ့ကျတဲ့ဖြေရှင်းနည်းများနှင့်ကာကွယ်ရေးနည်းစနစ်များ

gitbox 2025-07-12

1 ။ အမြတ်အစွန်း () function ကို၏အခြေခံအသုံးပြုမှုအသုံးပြုမှု

ပထမ ဦး စွာ exploit () function ကိုအသုံးပြုမှု၏အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်ကြပါစို့။

 <span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$limit</span></span><span> = PHP_INT_MAX)
</span></span>
  • $ delimiter : delimiter အဖြစ်အသုံးပြု string ကို

  • $ string ကို : split ခံရဖို့ပစ်မှတ် string ကို

  • $ ကန့်သတ်ချက် - optional parameter, ပြန်လာ array element တွေကိုကန့်သတ်။ ပုံသေခြင်းသည် php_int_max ဖြစ်သည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"apple,banana,orange"</span></span><span>;
</span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>

output ရလဒ် -

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; orange
)
</span></span>

၎င်းသည်အလွန်ရိုးရှင်းသောပုံရသည်, သို့သော် parameters များကို အသုံးချ. () သည်မသင့်လျော်ပါကသို့မဟုတ်ပြန်လာသောခင်းကျင်းမှုကိုစနစ်တကျလုပ်ဆောင်ခြင်းမရှိပါ။


2 ။ ခင်းကျင်းနယ်နိမိတ်ကူးယူနိုင်သောအလားအလာရှိသောအန္တရာယ်

Exploit () function ကိုအသုံးပြုသောအခါ, ခင်းကျင်းသောအချုပ်များ၏ပြ problem နာကိုများသောအားဖြင့်အောက်ပါအခြေအနေများတွင်ရောင်ပြန်ဟပ်သည် -

  1. input string ကိုဗလာသို့မဟုတ်ခွဲထုတ်ရုံမရှိ အကယ် . $ string သည်အချည်းနှီးသော string တစ်ခုသို့မဟုတ် delimiter string အတွက် string ကိုမတည်ရှိပါ။ ဤအချိန်တွင်အစီအစဉ်တွင်မတည်ရှိနေသောခင်းကျင်းသောအရာဝတ်ထုများကိုရယူရန်ကြိုးစားပါက,

    ဥပမာအားဖြင့်:

     <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">""</span></span><span>;
    </span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
    </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း:Array([0] =&gt; '')</span></span><span>
    </span></span>

    အကယ်. သင်သည်ဒေါ်လာ array ကို ရယူရန်ကြိုးစားပါကအမှားတစ်ခုကြုံတွေ့ရလိမ့်မည်။

  2. မသင့်လျော်သော $ ကန့်သတ် parameter သည်အသုံးပြုပါ
    Exploit () သည် ဒေါ်လာကန့်သတ် parameter ဖြင့်ထိန်းချုပ်ထားသည့်ခွဲဝေထားသော array elements အရေအတွက်ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ သတ်မှတ်ထားသော $ ကန့်သတ် တန်ဖိုးသည်မသင့်လျော်ပါက၎င်းသည်မျှော်လင့်ထားသည့်အတိုင်းပြန်လည်ပတ်မှုနှင့်ကိုက်ညီမှုရှိစေရန်မျှော်လင့်ထားသည့်အတိုင်းကိုက်ညီမှုရှိစေနိုင်သည်။


3 ။ crossing နယ်နိမိတ် cribars ကိုရှောင်ရှားရန်ဘုံအကြံပြုချက်များ

exploit () function ကိုအလွဲသုံးစားမှု၏အလွဲသုံးစားမှုကြောင့်ကူးယူခြင်းမှရှောင်ရှားနိုင်ရန်အတွက်, အောက်ပါထိရောက်သောကြိုတင်ကာကွယ်မှုများပြုလုပ်နိုင်သည်။

3.1 ။ အဆိုပါ delimiter တည်ရှိရှိမရှိစစ်ဆေးပါ

exploit () function ကိုမခေါ်မီ target string တွင်သတ်မှတ်ထားသော delimiter ပါ 0 င်သည်ကိုစစ်ဆေးပါ။ string တွင်ခွဲထုတ်သူမရှိလျှင်မူရင်း string ကိုသာပြန်ပို့ပါ။ ဤသည်သည်ခင်းကျင်းသောနယ်နိမိတ်များကိုကျော်လွှားခြင်း၏ပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$delimiter</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-variable">$str</span></span><span>]; </span><span><span class="hljs-comment">// အဘယ်သူမျှမခွဲထုတ်မရှိကြသောအခါ,မူရင်း string ကိုပါသောခင်းကျင်းကိုပြန်ပို့သည်</span></span><span>
}
</span></span>

3.2 ။ ကျိုးကြောင်းဆီလျော် $ ကန့်သတ် parameters တွေကိုသတ်မှတ်ပါ

အကယ်. သင်သည် split Array ကိုအရှည်တစ်ခုကိုကန့်သတ်လိုပါကအထူးလိုအပ်ချက်များနှင့်အညီ $ ကန့်သတ် parameter ကိုသတ်မှတ်နိုင်သည်။ အကယ်. သင်သည် array အရှည်ကိုကန့်သတ်ရန်မလိုအပ်ပါက default php_int_max ကို ဒေါ်လာကန့်သတ်ချက်ကို သတ်မှတ်ခြင်းသည် ပို. ကောင်းသည်။

 <span><span><span class="hljs-variable">$limit</span></span><span> = </span><span><span class="hljs-number">3</span></span><span>; </span><span><span class="hljs-comment">// ဌာနခွဲအပြီးအများဆုံးအရေအတွက်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$limit</span></span><span>);
</span></span>

3.3 ။ array အရှည်စစ်ဆေးရန် () function ကိုသုံးပါ

Split Array element များကိုသုံးသောအခါ, အကွာအဝေးမှရှောင်ရှားရန်ပြင်ဆင်ခြင်းကိုရှောင်ရှားရန်ခင်းကျင်းမှု၏အမှန်တကယ်အရှည်ကိုစစ်ဆေးရန် COUPT () function ကိုပထမဆုံးအသုံးပြုပါ။

 <span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>) &gt; </span><span><span class="hljs-number">2</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>]; </span><span><span class="hljs-comment">// array element တွေကိုလုံခြုံစွာဝင်ရောက်ခွင့်</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"မလုံလောက် array element တွေကို"</span></span><span>;
}
</span></span>

3.4 ။ array ဗလာရှိမရှိစစ်ဆေးရန် ဗလာ () function ကိုသုံးပါ

အမှားအယွင်းများကိုရှောင်ရှားရန် Array သည်ဗလာဖြစ်သည့်အတွက် အချည်းနှီး () function ကိုသုံးနိုင်သည်။

 <span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>)) {
    </span><span><span class="hljs-comment">// processing arrays</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါခင်းကျင်းဗလာဖြစ်ပါတယ်"</span></span><span>;
}
</span></span>

4 ။ အခြားအဆင့်မြင့်ကာကွယ်တားဆီးရေးစွမ်းရည်

ပုံမှန်ကာကွယ်တားဆီးရေးနည်းစနစ်များအပြင်သင်၏ Code ၏ကြံ့ခိုင်မှုကိုမြှင့်တင်ရန်အဆင့်မြင့်နည်းလမ်းအချို့ကိုလည်းအသုံးပြုနိုင်သည်။

4.1 ။ စိတ်ကြိုက် function encapsultultulation exploit ()

ထပ်ခါတလဲလဲလုပ်ခြင်း၏အလားအလာရှိသောအန္တရာယ်ကိုရှောင်ရှားရန် () ကို ရှောင်ရှားရန် (), ၎င်းကိုထုံးစံ function တစ်ခုထဲသို့ encapsulated လုပ်နိုင်သည်။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">safe_explode</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$delimiter</span></span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$limit</span></span><span> = PHP_INT_MAX) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>)) {
        </span><span><span class="hljs-keyword">return</span></span><span> [];
    }
    
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$delimiter</span></span><span>) === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> [</span><span><span class="hljs-variable">$string</span></span><span>];
    }
    
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$limit</span></span><span>);
}

</span><span><span class="hljs-comment">// ထုံးစံကိုသုံးပါ safe_explode လုပ်ဆောင်ချက်</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">safe_explode</span></span><span>(</span><span><span class="hljs-string">","</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span></span>

4.2 ။ ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုခြင်း

ရှုပ်ထွေးသော string spring segmentation လိုအပ်ချက်များကိုပြုလုပ်ရန်ပုံမှန်အသုံးအနှုန်းများသည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောဖြေရှင်းနည်းကိုပေးသည်။ PREG_SPLPLIT () function ကို exploit () function ကို သုံး. ခွဲဝေချထားသည့်အခါပိုမိုကိုက်ညီသောစည်းမျဉ်းများနှင့်ရွေးချယ်စရာများကိုထောက်ပံ့နိုင်သည်။

 <span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_split</span></span><span>(</span><span><span class="hljs-string">"/,/"</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>);
</span></span>
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    explode