Reation Request ကိုအဓိကအားဖြင့် URL parameters တွေကိုဖြတ်သန်းသွားသောဆာဗာမှအချက်အလက်များရရှိရန်အသုံးပြုသည်။ PHP တွင် $ _get hyperglobal ခင်းကျင်းမှုကိုရရှိသောတောင်းဆိုမှုတွင်ဖြတ်သန်းသွားသော parameters တွေကိုလက်ခံရရှိရန်အသုံးပြုသည်။
<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, <name>'</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>အထူးသဖြင့်အသုံးပြုသူများမှအချက်အလက်များထည့်သွင်းထားသောအချက်အလက်များကိုထုတ်ယူသောအခါတောင်းဆိုမှုများကိုရယူသည့်အခါလုံခြုံရေးကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။ XSS တိုက်ခိုက်မှုများကိုရှောင်ရှားရန် output အချက်အလက်များကို encode လုပ်ရန် htmlspecialchars () function ကိုအသုံးပြုရန်အလွန်အရေးကြီးသည်။ ဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူထည့်သွင်းမှုမှ HTML tags များထံမှလွတ်မြောက်စေခြင်း,
Post တောင်းဆိုမှုများကိုများသောအားဖြင့်အချက်အလက်များကိုဆာဗာသို့ပို့ရန်အသုံးပြုသည်။ အထူးသဖြင့်ပုံစံဒေတာတင်သွင်းရန်လိုအပ်သည့်အခါ။ PHP တွင် ဒေါ်လာ _post hyperglobal array သည် 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>]) && </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">"<br>"</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 သည်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုပြလိမ့်မည်။
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 င်း၏ပုံစံသည်မှန်ကန်ကြောင်းသေချာစေရန်အီးမေးလ်လိပ်စာကိုစစ်ဆေးရန်နှင့်အတည်ပြုရန်။
တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ရရန်နှင့် 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 များတွင်မက်ဆေ့ခ်ျများပေါ်ရှိမက်ဆေ့ခ်ျများပေါ်ရှိမက်ဆေ့ခ်ျများပြုလုပ်ရန်ဆုံးဖြတ်သည်။
$ _GET နှင့် $ _post hyperglobal array များကို အသုံးပြု. PHP သည် Get နှင့် Post တောင်းဆိုမှုများကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။ URL parameters တွေကိုသုံးရန်သို့မဟုတ်ပုံစံအချက်အလက်များကိုတင်ပြရန်ဆိုလျှင်ကျွန်ုပ်တို့သည် အဓိက လုပ်ဆောင်ချက်တွင်ယုတ္တိဗေဒလုပ်ငန်းစဉ်ကိုလုပ်ဆောင်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အသုံးပြုသူမှထည့်သွင်းထားသောအကြောင်းအရာကိုအတည်ပြုပြီးလုံခြုံရေးကိုစစ်ဆေးရန်နှင့် SQL Injections နှင့် Xss Infactions ကဲ့သို့သောလုံခြုံရေးဆိုင်ရာအန္တရာယ်များကိုကာကွယ်ရန်တောင်းဆိုသည့်အခါလုံခြုံရေးကိုအထူးဂရုပြုသင့်သည်။