PHP ပရိုဂရမ်တွင် strings များကိုအထူးသဖြင့်ဒေတာဘေ့စ်များနှင့်အပြန်အလှန်ဆက်သွယ်မှုများသို့မဟုတ် HTML အကြောင်းအရာများနှင့်အပြန်အလှန်ဆက်ဆံမှုကိုကိုင်တွယ်သောအခါ, Essa Escape ဇာတ်ကောင်များသည်အထူးအက္ခရာများကိုမမှန်မကန်ဖြစ်စေသည့်အထူးအက္ခရာများကိုရှောင်ရှားရန်ကူညီပါ။ ကိစ္စရပ်အများစုအတွက် addslashes () function သည် strings သည်ကြိုးများထိထိရောက်ရောက်မှလွတ်မြောက်နိုင်သော်လည်းအချို့သောသီးခြားဖြစ်ရပ်များတွင်ကျွန်ုပ်တို့သည်ထပ်ခါတလဲလဲလွတ်မြောက်မှုကိုရှောင်ရှားနေစဉ်ကျွန်ုပ်တို့သည်မူရင်းဇာတ်ကောင်များကိုထိန်းသိမ်းလိုပေမည်။ ဤအချိန်တွင် addcslashes () function သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောဖြေရှင်းနည်းကိုထောက်ပံ့ပေးသည်။
PHP တွင် addcslashes () function သည်သတ်မှတ်ထားသောစာလုံးများကို string တစ်ခုမှလွတ်မြောက်ရန်အသုံးပြုသည်။ addslashes ()) , addcslashes ()) နှင့်မတူဘဲ developer များကမည်သည့်စာလုံးများကိုမှလွတ်မြောက်ရန်လိုအပ်ကြောင်းကိုဖော်ပြရန်ခွင့်ပြုသည်။
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">addcslashes</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$charlist</span></span><span>)
</span></span>$ str : လုပ်ငန်းများ၌ခံရဖို့ string ကို။
$ Charlist : မှလွတ်မြောက်ရန်လိုအပ်သည့်ဇာတ်ကောင်သတ်မှတ်ချက်။ ဤဇာတ်ကောင်အစုံသည်အက္ခရာများ, စာလုံးအကြီးများသို့မဟုတ်ဇာတ်ကောင်အမျိုးမျိုးပင်ဖြစ်နိုင်သည် (ဥပမာ - Az ) ။
addcslashes () သတ်မှတ်ထားသော ဒေါ်လာသမ္မတများ နှင့်ကိုက်ညီသောစာလုံးများကို ဒေါ်လာ ဖြင့်လွတ်မြောက်သည်။ addslashes () , addcslashes ()) နှင့် မတူသည်မှာတစ်ခုတည်းသောကိုးကား ( ' ) သို့မဟုတ်နှစ်ဆကိုးကားချက်များ (") သို့မဟုတ်နှစ်ဆကိုးကားခြင်း ( " ) ကိုတိုက်ရိုက်မလွတ်မြောက်စေဘဲ,
သင့်တွင်ထွက်ပြေးလာသောဇာတ်ကောင်များစွာပါ 0 င်သော string တစ်ခုရှိပြီးသင်ဤစာလုံးများမှလွတ်မြောက်လိုသော်လည်းလွတ်လွတ်လပ်လပ်ထွက်ပြေးတိမ်းရှောင်ခြင်းများကိုထပ်ခါတလဲလဲမလုပ်လိုပါ။ addcslashes () ကို အသုံးပြုခြင်း () မူရင်းစာလုံးများကိုမထိခိုက်စေဘဲထပ်ခါတလဲလဲထွက်ပြေးတိမ်းရှောင်ခြင်းကိုရှောင်ရှားရန်ကူညီနိုင်သည်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"This is a 'test' string with special characters like \n, \r, and \t."</span></span><span>;
</span><span><span class="hljs-variable">$escapedStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">addcslashes</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"\n\r\t"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$escapedStr</span></span><span>;
</span></span>ထုတ်လုပ်မှု -
<span><span>This </span><span><span class="hljs-keyword">is</span></span><span> a </span><span><span class="hljs-string">'test'</span></span><span> </span><span><span class="hljs-built_in">string</span></span><span> </span><span><span class="hljs-keyword">with</span></span><span> special characters like \n, \r, </span><span><span class="hljs-keyword">and</span></span><span> \t.
</span></span>ဒီဥပမာမှာငါတို့သာ \ n , \ r နှင့် \ t နှင့် addslashes () ဇာတ်ကောင်များများမှလွတ်မြောက်ရန်မှလွတ်မြောက်ခဲ့သည်။ အကယ်. string သည်ဤထွက်ပြေးတိမ်းရှောင်နေသောဇာတ်ကောင်များပါ 0 င်ပါကဤဇာတ်ကောင်များ () သည် ဤစာလုံးများကိုထပ်ခါတလဲလဲလုပ်ခြင်းကိုရှောင်ရှားရန်ကူညီနိုင်သည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည်စာလုံးအသေးများသို့မဟုတ်နံပါတ်များအားလုံးကဲ့သို့သောအချို့သောအကွာအဝေးအတွင်းရှိဇာတ်ကောင်များမလွတ်မြောက်လိုပေမည်။ addcslashes ၏ပြောင်းလွယ်ပြင်လွယ်နှင့်အတူ () ငါတို့လုပ်နိုင်ပါတယ်။
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"This is a test string 1234!"</span></span><span>;
</span><span><span class="hljs-variable">$escapedStr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">addcslashes</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'a-z'</span></span><span>); </span><span><span class="hljs-comment">// အသေးအက္ခရာများအားလုံးကိုလွတ်မြောက်ရန်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$escapedStr</span></span><span>;
</span></span>ထုတ်လုပ်မှု -
<span><span>This </span><span><span class="hljs-keyword">is</span></span><span> \a \t\es\ t </span><span><span class="hljs-built_in">string</span></span><span> </span><span><span class="hljs-number">1234</span></span><span>!
</span></span>ဤဥပမာတွင်စာလုံးအကြီးအသေး စာလုံးများ သာလွတ်မြောက်လာသည်။ သင်ပိုမိုစိတ်ကြိုက်မှထွက်ပြေးလာသူအပြောင်းအလဲနဲ့လုပ်ဆောင်ရန်လိုအပ်သည့်စာလုံးကိုပြင်ဆင်နိုင်သည်။
ပုံမှန်အသုံးအနှုန်းများကိုတည်ဆောက်ရာတွင်အထူးအက္ခရာများကိုလုံခြုံစွာကိုင်တွယ်လိုပါက addcslashes () သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံမှန်စကားများ ( * ), ကြယ်ပွင့်များ ( * ),
<span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">"This is a test with some special characters like . * + ?"</span></span><span>;
</span><span><span class="hljs-variable">$escapedPattern</span></span><span> = </span><span><span class="hljs-title function_ invoke__">addcslashes</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-string">'.|*+?()[]{}^$\\'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$escapedPattern</span></span><span>;
</span></span>ထုတ်လုပ်မှု -
<span><span>This </span><span><span class="hljs-keyword">is</span></span><span> a test </span><span><span class="hljs-keyword">with</span></span><span> </span><span><span class="hljs-keyword">some</span></span><span> special characters </span><span><span class="hljs-keyword">like</span></span><span> \. \* \+ \?
</span></span>ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံမှန်အသုံးအနှုန်းများကိုတည်ဆောက်ရာတွင်အမှားအယွင်းများသို့မဟုတ်မမျှော်လင့်ဘဲကိုက်ညီသောရလဒ်များကိုမပြနိုင်ကြောင်းသေချာစေနိုင်သည်။
SQL Query များကိုကိုင်တွယ်သည့်အခါ SQL Injection ကိုရှောင်ရှားရန်အရေးကြီးသည်။ PDO (သို့) MySQLI Proprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုနေစဉ်အချို့သောကိစ္စရပ်များတွင် SQL Injection Attack မှကာကွယ်ရန်အသုံးပြုသူထည့် 0 င်မှုမှလွတ်မြောက်ရန်လည်းလိုအပ်သည်။ addcslashes () သည် အသုံးပြုသူထည့် 0 င်မှုတွင်အထူးအက္ခရာများမှလွတ်မြောက်ရန်ကူညီနိုင်သည်။
<span><span><span class="hljs-variable">$userInput</span></span><span> = </span><span><span class="hljs-string">"Robert'); DROP TABLE Students;--"</span></span><span>;
</span><span><span class="hljs-variable">$escapedInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">addcslashes</span></span><span>(</span><span><span class="hljs-variable">$userInput</span></span><span>, </span><span><span class="hljs-string">"'"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$escapedInput</span></span><span>;
</span></span>ထုတ်လုပ်မှု -
<span><span>Robert\'); DROP TABLE Students;--
</span></span>တစ်ခုတည်းကိုးကားချက်များမှလွတ်မြောက်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုရှောင်ရှားနိုင်သည်။ ဤနည်းလမ်းသည် preprocessing ထုတ်ပြန်ချက်များအနေဖြင့်လုံခြုံမှုမရှိပါကကာကွယ်မှုအချို့ကိုထောက်ပံ့နေဆဲဖြစ်သည်။
addcslashes () သည်အလွန်ကောင်းသော PHP function သည် string တစ်ခုတွင်သတ်သတ်မှတ်မှတ်စာလုံးများမှလွတ်မြောက်ရန်ပြောင်းလွယ်ပြင်လွယ်ရှိသောနည်းလမ်းများကိုပေးသည်။ addslashes () , addcslashes ()) မတူဘဲ, addcslashes () သည်လွတ်မြောက်ရန်လိုအပ်သည့်သတ်သတ်မှတ်မှတ်စာလုံးများကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ထပ်ခါတလဲလဲထွက်ပြေးခြင်း, ပုံမှန်အသုံးအနှုန်းများကိုထုတ်ယူခြင်း, ပုံမှန်အသုံးအနှုန်းများ ကိုအသုံးပြုခြင်း,
ဤလုပ်ဆောင်မှုကိုနားလည်ခြင်းနှင့်အသုံးပြုခြင်းကိုစနစ်တကျစနစ်တကျစနစ်ကိုစနစ်တကျတိုးတက်စေရန်အတွက် PHP ပရိုဂရမ်တွင်ကြိုးများတပ်ဆင်ခြင်း၏စွမ်းဆောင်ရည်နှင့်လုံခြုံမှုကိုတိုးတက်စေသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
addcslashes