Web Development တွင် XSS (Cross-Site Cross-site Cross-site scripting တိုက်ခိုက်မှုများ) ကိုကာကွယ်ခြင်းသည်အသုံးပြုသူအချက်အလက်များ၏လုံခြုံရေးကိုသေချာစေရန်အရေးကြီးသောတာဝန်တစ်ခုဖြစ်သည်။ PHP သည် HTMLSPECALCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHARCHAR () function ကိုထောက်ပံ့ပေးသည်။ Sprintf () function သည်အထူးသဖြင့် HTML ကို dynamically ကိုတည်ဆောက်သည့်အခါကြိုးများကိုပုံစံများကို format လုပ်ရန်အသုံးပြုလေ့ရှိသည်။
ဤဆောင်းပါးတွင် SPRINTF () နှင့် htmlspecialchars () နှင့် htmlspecialchars () နှင့် htmlspecialchars များကိုမည်သို့တည်ဆောက်ရမည်ကိုရှင်းပြပါမည်။
XSS Attack သည်တိုက်ခိုက်သူတစ် ဦး အားဝက်ဘ်စာမျက်နှာသို့အန္တရာယ်ရှိသော scripts များကိုထိုးသွင်းရန်ရည်ညွှန်းသည်။ အသုံးပြုသူသည် 0 က်ဘ်စာမျက်နှာကို browsel လုပ်ပြီးသည်နှင့်ဤ scripts သည် cookies များကိုခိုးယူခြင်း, စာမျက်နှာများကိုကြည့်ရှုခြင်း,
htmlspecialchars () သည် HTML ရှိအထူးအက္ခရာများ ကို HTML အဖွဲ့အစည်းများအဖြစ်သို့ရောက်သည်။ ဤနည်းအားဖြင့်အသုံးပြုသူ input တွင် script tags များပါ 0 င ်ပါက၎င်းကိုအမှန်တကယ်ကုဒ်သို့ခွဲခြားလိမ့်မည်မဟုတ်ပါ ။
$user_input = '<script>alert("XSS")</script>';
$safe_output = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
echo $safe_output;
// ထုတ်လုပ်ခြင်း:<script>alert("XSS")</script>
Sprintf () သည် variable များကို format ချပ်ကြိုးများထဲသို့ထည့်ရန်အသုံးပြုသည်။ ထို့ကြောင့်အသုံးပြုသူမှထည့်သွင်းထားသောအချက်အလက်များကိုဖော်ပြသည့်အခါ၎င်းကို Htmlspecialchars () ကို ဦး စွာအသုံးပြုခြင်းကိုပြုလုပ်သင့်ပြီး Sprintf () သို့သွားသင့်သည်။
$template = '<a href="%s">%s</a>';
$url = 'https://gitbox.net/page?search=<script>alert(1)</script>';
$link_text = 'ကြည့်ရန်ကိုနှိပ်ပါ';
$safe_url = htmlspecialchars($url, ENT_QUOTES, 'UTF-8');
echo sprintf($template, $safe_url, $link_text);
// ထုတ်လုပ်ခြင်း:<a href="https://gitbox.net/page?search=<script>alert(1)</script>">ကြည့်ရန်ကိုနှိပ်ပါ</a>
မှတ်စု: link_Text သည်အထက်ဖော်ပြပါဥပမာတွင် static ဖြစ်သော်လည်းအသုံးပြုသူမှ input လုပ်ပါက၎င်းကို HTMLSPECALCHAR () ဖြင့်လည်းကိုင်တွယ်ရမည်။
သင်ကမက်ဆေ့ခ်ျဘုတ်အဖွဲ့တစ်ခုကိုရေးဆွဲနေပြီဆိုပါစို့။ အသုံးပြုသူမှတင်ပြထားသောအမည်ပြောင်နှင့်မက်ဆေ့ခ်ျအကြောင်းအရာများကိုစာမျက်နှာပေါ်တွင်ပြသလိမ့်မည်ဆိုပါစို့။ လုံခြုံမှုမရှိသောဥပမာတစ်ခုမှာဤတွင်
echo sprintf('<p>%s ရှင်းလင်းဖေါ်ပြ:%s</p>', $_POST['name'], $_POST['message']);
တိုက်ခိုက်သူသည်အောက်ပါတို့ကိုတင်ပြနိုင်သည်။
အမည်ပြောင်: <script> Alert ("XSS") </ script>
မက်ဆေ့ခ်ျကိုချန်ထားပါ။ <img src = "Onearror =" Author = "Alert (XSS ')">
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
$message = htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8');
echo sprintf('<p>%s ရှင်းလင်းဖေါ်ပြ:%s</p>', $name, $message);
ဤနည်းအားဖြင့်အသုံးပြုသူအားသွင်းအားစုများမည်သို့ပင်ဖြစ်ပါစေ၎င်းကို Browser မှအမှန်တကယ် HTML သို့မဟုတ် JavaScript သို့ခွဲထုတ်မည်မဟုတ်ပါ, XSS တိုက်ခိုက်မှုများကိုထိထိရောက်ရောက်ကာကွယ်နိုင်သည်။
အသုံးပြုသူ input ကိုမှလွတ်မြောက်ရန် htmlspecialchars () ကို အသုံးပြုခြင်း XSS ကိုကာကွယ်ရန်အဓိကနည်းလမ်းဖြစ်သည်။
HTML output ကိုတည်ဆောက်ရာတွင် SPRINTF () ကို ရှင်းလင်းသောဖွဲ့စည်းပုံကွဲကွဲပြားပြားပြုလုပ်ရန်ပေါင်းစပ်နိုင်သည်။ သို့သော်သင် ပထမ ဦး ဆုံးလွတ်မြောက်ရန်နှင့်၎င်းကို format လုပ် ရမည်။
အဆောက်အအုံမှအချက်အလက်များကိုတင်းကြပ်စွာ ခွဲခြား. အသုံးပြုသူ input ကိုမယုံပါနှင့်။
ကျိုးကြောင်းဆီလျော်သော Sprintf () နှင့် htmlspecialchars () ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကုဒ်သည်ရှင်းလင်းပြီးဖတ်နိုင်ရန်အတွက် front-end တိုက်ခိုက်မှုအန္တရာယ်များကိုထိရောက်စွာခုခံတွန်းလှန်နိုင်သည်။ ဤဆောင်းပါးသည်သင်၏ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းကိုအထောက်အကူပြုလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။