လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> HTML-Safe Data ကို output လုပ်ရန် htmlspecialchars () ကိုပေါင်းစပ်ခြင်း

HTML-Safe Data ကို output လုပ်ရန် htmlspecialchars () ကိုပေါင်းစပ်ခြင်း

M66 2025-05-28

PHP နှင့် MySqli ကို အသုံးပြု. HTML စာမျက်နှာများသို့ဒေတာများကိုတာ 0 န်ယူရာတွင် XSS (site Cross-site Cross-site Cross-site Cross-site scripting attaching) အားနည်းချက်များကိုရှောင်ရှားရန်သတိထားရမည်။ ဤအားနည်းချက်အမျိုးအစားသည်ပုံမှန်အားဖြင့်ဒေတာဘေ့စ်ရှိအကြောင်းအရာများကိုအခမဲ့သို့မဟုတ်စီစစ်ခြင်းမရှိဘဲဝဘ်စာမျက်နှာသို့တိုက်ရိုက်ထုတ်လွှင့်သောအခါဖြစ်သည်။

အကြောင်းအရာများကိုလုံခြုံစွာရှောင်ရှားရန် HTMLSPECALCHAR () သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် HTML အထူးအက္ခရာများ (ဥပမာ < , > နှင့် " စသည်တို့ကဲ့သို့) html အဖွဲ့အစည်းများအဖြစ်ပြောင်းလဲခြင်းကို HTML အဖွဲ့အစည်းများသို့ပြောင်းလဲပေးသည်။ MySQLI_RESFTATES နှင့်အတူဒေတာဘေ့စ်စုံစမ်းမှုများကိုရရှိရန်အတွက်ကျွန်ုပ်တို့သည်အကြောင်းအရာကိုလုံခြုံစွာဖော်ပြနိုင်သည်။

MySQLI_RESULET ကို HTMLSPECALCALCHARS () -

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$mysqli = new mysqli("localhost", "username", "password", "database");

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_errno) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}

// တစ် ဦး စုံစမ်းမှု execute
$sql = "SELECT id, title, content FROM articles";
$result = $mysqli->query($sql);

if ($result && $result->num_rows > 0) {
    echo "<h1>ဆောင်းပါးစာရင်း</h1>";
    echo "<ul>";
    while ($row = $result->fetch_assoc()) {
        // အသုံးပြု htmlspecialchars output ကိုထွက်ပြေး
        $title = htmlspecialchars($row['title'], ENT_QUOTES, 'UTF-8');
        $content = htmlspecialchars($row['content'], ENT_QUOTES, 'UTF-8');

        // ဆောင်းပါးသည်အသေးစိတ် link တစ်ခုရှိသည်ဆိုပါစို့
        $articleUrl = "https://m66.net/article.php?id=" . urlencode($row['id']);

        echo "<li>";
        echo "<a href=\"$articleUrl\">$title</a><br>";
        echo "<p>$content</p>";
        echo "</li>";
    }
    echo "</ul>";
} else {
    echo "အဘယ်သူမျှမဆောင်းပါးတွေ့ရှိခဲ့ပါတယ်。";
}

// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>

အဓိကအချက်များဖော်ပြချက်

  1. htmlspecialchars () ကို သုံးပါ။

    • ent_quotes parameter သည်တစ်ခုတည်းနှင့်နှစ်ဆကိုးကားခြင်းများကိုလွတ်မြောက်ရန်သေချာစေသည်။

    • 'UTF-8' သည် encoding ကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားရန် different encoding ကိုသတ်မှတ်သည်။

  2. URLs ကိုတည်ဆောက်သည့်အခါ urlenode () ကို သုံးပါ
    URL တွင် parameters များကိုသင်ထည့်သွင်းရန်လိုအပ်ပါက URL ဖွဲ့စည်းပုံကိုမထိခိုက်စေဘဲ urlencode () ကို အသုံးပြုရန်သေချာပါစေ။

  3. unprocessed data ကို HTML တွင်တိုက်ရိုက်မဖြည့်ပါနှင့် ဒေတာဘေ့စလယ်ကွင်း၏တန်ဖိုးများကိုတိုက်ရိုက်ထုတ်လွှင့်မှုသည်အလွန်အန္တရာယ်များပြီးစနစ်တကျလုပ်ဆောင်ရမည်ဖြစ်သည်။

အကျဉ်းချုပ်

အမှန်တကယ်စီမံကိန်းများတွင်ဒေတာ output ကို browser သို့ data output မှလွတ်မြောက်ရန်အလေ့အထကိုဖော်ထုတ်ခြင်းသည်လုံခြုံရေးဖွံ့ဖြိုးတိုးတက်မှုအတွက်အခြေခံလိုအပ်ချက်ဖြစ်သည်။ MySQLI_RESult နှင့် htmlspecialchars ၏ query ကိုရှာဖွေခြင်းရလဒ်များကိုပေါင်းစပ်ပြီး XSS တိုက်ခိုက်မှုအများစုကိုထိရောက်စွာကာကွယ်နိုင်ပြီးဝက်ဘ်ဆိုက်များနှင့်အသုံးပြုသူများ၏လုံခြုံရေးကိုထိရောက်စွာတားဆီးနိုင်သည်။

အကယ်. သင့်တွင်ပိုမိုကောင်းမွန်သောအကောင်းမြင်ရန်လိုအပ်သည့်အစိတ်အပိုင်းများရှိလျှင် output function များကို encapsulating enins များကိုအသုံးပြုခြင်းသို့မဟုတ် template engins များကို အသုံးပြု. သင့်အတွက်၎င်းတို့ကိုစုစည်းနိုင်သည်။ သငျသညျအကြှနျုပျကိုပိုပြီးပြည့်စုံသောအထုပ်ဥပမာရေးသားစေချင်ပါသလား?