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

PHP Main function ကိုကိုင်တွယ်ခြင်းနှင့်တောင်းဆိုမှုများကိုမည်သို့ရယူသနည်း။ အသေးစိတ်ခြေလှမ်းခွဲခြမ်းစိတ်ဖြာ

gitbox 2025-09-02

1 ။ တောင်းဆိုမှုများကိုရယူခြင်း

Reation Request ကိုအဓိကအားဖြင့် URL parameters တွေကိုဖြတ်သန်းသွားသောဆာဗာမှအချက်အလက်များရရှိရန်အသုံးပြုသည်။ PHP တွင် $ _get hyperglobal ခင်းကျင်းမှုကိုရရှိသောတောင်းဆိုမှုတွင်ဖြတ်သန်းသွားသော parameters တွေကိုလက်ခံရရှိရန်အသုံးပြုသည်။

1.1 လက်ခံရရှိရန်တောင်းဆိုမှုများရယူပါ

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-comment">// ရှိ, ရှိမရှိစစ်ဆေးပါ GET တောင်းဆိုထားသော parameters တွေကို</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>])) {
        </span><span><span class="hljs-variable">$name</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>];  </span><span><span class="hljs-comment">// ရယူ GET တောင်းဆိုမှုအတွက် parameters တွေကို 'name'</span></span><span>
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hello, "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$name</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 'Hello, &lt;name&gt;'</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">"No name provided!"</span></span><span>;
    }
}
</span></span>

အထက်ပါကုဒ်တွင် $ _GET [အမည် '] သည် URL တွင် parameters များကိုရရှိသည်။ အကယ်. URL သည် ဥပမာအားဖြင့် output.com/?name=john ဖြစ်ပါကရလဒ်မှာ -

 <span><span>Hello, John
</span></span>

1.2 URL parameters များ၏ coding နှင့်လုံခြုံရေး

အထူးသဖြင့်အသုံးပြုသူများမှအချက်အလက်များထည့်သွင်းထားသောအချက်အလက်များကိုထုတ်ယူသောအခါတောင်းဆိုမှုများကိုရယူသည့်အခါလုံခြုံရေးကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။ XSS တိုက်ခိုက်မှုများကိုရှောင်ရှားရန် output အချက်အလက်များကို encode လုပ်ရန် htmlspecialchars () function ကိုအသုံးပြုရန်အလွန်အရေးကြီးသည်။ ဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူထည့်သွင်းမှုမှ HTML tags များထံမှလွတ်မြောက်စေခြင်း,

2 ။ ပို့စ်တောင်းဆိုမှုများကိုထုတ်ယူခြင်း

Post တောင်းဆိုမှုများကိုများသောအားဖြင့်အချက်အလက်များကိုဆာဗာသို့ပို့ရန်အသုံးပြုသည်။ အထူးသဖြင့်ပုံစံဒေတာတင်သွင်းရန်လိုအပ်သည့်အခါ။ PHP တွင် ဒေါ်လာ _post hyperglobal array သည် post တောင်းဆိုမှု၏အချက်အလက်များကိုလက်ခံရရှိရန်အသုံးပြုသည်။

2.1 post တောင်းဆိုမှုများကိုလက်ခံရရှိပါ

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-comment">// ဟုတ်လားစစ်ဆေးပါ POST မေးမြန်း</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>]) &amp;&amp; </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'password'</span></span><span>])) {
            </span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
            </span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'password'</span></span><span>];
            
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Username: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$username</span></span><span>) . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Password: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$password</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">"Please fill in the required fields!"</span></span><span>;
        }
    }
}
</span></span>

ဤဥပမာတွင်တောင်းဆိုထားသောအချက်အလက်များကို $ _post ['username'] နှင့် $ _Post ['password') ဖြင့်ရရှိသည်။ အကယ်. ပုံစံကို post တောင်းဆိုမှုမှတစ်ဆင့်တင်သွင်းပါက output သည်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုပြလိမ့်မည်။

2.2 ပုံစံစိစစ်အတည်ပြုခြင်းနှင့်ဒေတာသန့်ရှင်းရေး

POST တောင်းဆိုမှုများကိုလုပ်ဆောင်သောအခါအသုံးပြုသူထည့်သွင်းမှုသည်မျှော်လင့်ထားသည့်အတိုင်းသို့မဟုတ်အန္တရာယ်ရှိသောကုဒ်များသယ်ဆောင်ခြင်းမရှိပါ။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဒေတာစစ်ဆေးခြင်းနှင့်သန့်ရှင်းရေးလုပ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, အသုံးပြုသူ input သည်သတ်သတ်မှတ်မှတ်ပုံစံနှင့်ကိုက်ညီမှုရှိမရှိကိုသင်စစ်ဆေးနိုင်သည်။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'email'</span></span><span>])) {
            </span><span><span class="hljs-variable">$email</span></span><span> = </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'email'</span></span><span>], FILTER_SANITIZE_EMAIL);
            </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$email</span></span><span>, FILTER_VALIDATE_EMAIL)) {
                </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Valid email: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$email</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">"Invalid email format!"</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">"Email is required!"</span></span><span>;
        }
    }
}
</span></span>

ဤကုဒ်တွင်ကျွန်ုပ်တို့သည် filter_var () function ကို အသုံးပြု. 4 င်း၏ပုံစံသည်မှန်ကန်ကြောင်းသေချာစေရန်အီးမေးလ်လိပ်စာကိုစစ်ဆေးရန်နှင့်အတည်ပြုရန်။

3 ။ Get နှင့်တောင်းဆိုမှုများကိုပေါင်းစပ်ခြင်း

တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ရရန်နှင့် Post တောင်းဆိုမှုများကိုနှစ် ဦး စလုံးလုပ်ဆောင်ရန်လိုအပ်သည်။ ပိုမိုကောင်းမွန်သောစီမံခန့်ခွဲမှုများကိုပိုမိုကောင်းမွန်စွာစီမံနိုင်ရန်အတွက်တောင်းဆိုမှုများနည်းလမ်းကို အဓိက လုပ်ဆောင်မှုတွင်တစ်ပြိုင်နက်တည်းစီရင်ခြင်းနှင့်ကွဲပြားခြားနားသောလိုအပ်ချက်များကိုအညီသီးခြားစီလုပ်ဆောင်နိုင်သည်။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>])) {
            </span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>]);
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Received POST message: "</span></span><span> . </span><span><span class="hljs-variable">$message</span></span><span>;
        }
    } </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'GET'</span></span><span>) {
        </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>])) {
            </span><span><span class="hljs-variable">$id</span></span><span> = </span><span><span class="hljs-title function_ invoke__">intval</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>]);  </span><span><span class="hljs-comment">// ရယူ GET မေးမြန်း中的 id တေးရေး</span></span><span>
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Requested GET ID: "</span></span><span> . </span><span><span class="hljs-variable">$id</span></span><span>;
        }
    }
}
</span></span>

ဤဥပမာတွင် PHP သည်တောင်းဆိုမှုအမျိုးအစားပေါ်မူတည်ပြီးလိုအပ်သောတောင်းဆိုမှုတွင်မက်ဆေ့ခ်ျများသို့မဟုတ် IDs များတွင်မက်ဆေ့ခ်ျများပေါ်ရှိမက်ဆေ့ခ်ျများပေါ်ရှိမက်ဆေ့ခ်ျများပြုလုပ်ရန်ဆုံးဖြတ်သည်။

4 ။ အကျဉ်းချုပ်

$ _GET နှင့် $ _post hyperglobal array များကို အသုံးပြု. PHP သည် Get နှင့် Post တောင်းဆိုမှုများကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။ URL parameters တွေကိုသုံးရန်သို့မဟုတ်ပုံစံအချက်အလက်များကိုတင်ပြရန်ဆိုလျှင်ကျွန်ုပ်တို့သည် အဓိက လုပ်ဆောင်ချက်တွင်ယုတ္တိဗေဒလုပ်ငန်းစဉ်ကိုလုပ်ဆောင်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အသုံးပြုသူမှထည့်သွင်းထားသောအကြောင်းအရာကိုအတည်ပြုပြီးလုံခြုံရေးကိုစစ်ဆေးရန်နှင့် SQL Injections နှင့် Xss Infactions ကဲ့သို့သောလုံခြုံရေးဆိုင်ရာအန္တရာယ်များကိုကာကွယ်ရန်တောင်းဆိုသည့်အခါလုံခြုံရေးကိုအထူးဂရုပြုသင့်သည်။