PHP တွင် HTML အဖွဲ့အစည်းများမှလွတ်မြောက်ခြင်းသည်အထူးသဖြင့်ဝက်ဘ်စာမျက်နှာများကိုတက်ကြွစွာထုတ်ပေးသောအခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ သင့်လျော်သောလွတ်မြောက်မှုမရှိပါက XSS တိုက်ခိုက်မှုများကဲ့သို့သောလုံခြုံရေးပြ issues နာများဖြစ်ပေါ်နိုင်သည်။ Get_Htmml_Translation_table function သည် HTML အဖွဲ့အစည်းများ၏မှန်ကန်သောထွက်ပေါ်လာခြင်းကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။
HTML အဖွဲ့အစည်းများသည်အထူး အက္ခရာများ ဖြစ်သည် ။ အချို့သောတိကျသောသင်္ကေတသို့မဟုတ်ဇာတ်ကောင်ကိုယ်စားပြု။ ဥပမာအားဖြင့်:
& amp; ကိုယ်စားပြု & သင်္ကေတ
& lt; < သင်္ကေတကိုကိုယ်စားပြုတယ်
& GT; ကိုယ်စားလှယ် > သင်္ကေတများ
"ကိုယ်စားလှယ် " သင်္ကေတ
& apos; '' သင်္ကေတကိုကိုယ်စားပြုတယ်
အသုံးပြုသူ input data ကို HTML တွင်ထည့်သွင်းသောအခါဤအထူးအက္ခရာများကိုမှန်ကန်စွာလွတ်မြောက်ရန်သေချာစေရမည်။
Get_Html_translation_table function သည် html entities နှင့်စာလုံးကိုက်ညီမှုများပါ 0 င်သည့်မြေပုံ table ကိုပြန်ပို့နိုင်သည်။ ကျွန်ုပ်တို့သည်တိကျသောစာလုံးများမှလွတ်မြောက်ရန်ဤဇယားကိုသုံးနိုင်သည်။
get_html_translation_table(int $table = HTML_ENTITIES, int $flags = ENT_COMPAT, string|null $encoding = null): array
$ ဇယား - ဘာသာပြန်စားပွဲပေါ်မှာပြန်ကျသွားတယ်။ ဘုံတန်ဖိုးများမှာ:
HTML_ENTITIONS : HTML အဖွဲ့အစည်းများအားလုံးကိုပြန်ပို့သည်။
html_specialchars : ဘုံ html အထူးအက္ခရာများကိုပြန်ပို့သည်။
$ အလံ - လွတ်မြောက်ရန်မည်သို့သတ်မှတ်သည်။ ဘုံတန်ဖိုးများမှာ:
Ent_Compat : နှစ်ဆကိုးကားထားပေမယ့်တစ် ဦး တည်းကိုးကားထိန်းသိမ်းထားသည်။
ent_quotes : နှစ်ဆနှင့်တစ်ခုတည်းကိုးကားမှလွတ်မြောက်ရန်။
ent_noquotes : အဘယ်သူမျှမကိုးကားအမှတ်အသားများမှထွက်ပြေးလွတ်မြောက်။
$ encoding : ဇာတ်ကောင် encoding အဖြစ်သတ်မှတ်ပါတယ်။ ပုံမှန်ပတ် 0 န်းကျင်၏ဇာတ်ကောင် encoding ကို အသုံးပြု. ပုံမှန်အားဖြင့် NULL ဖြစ်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Get_Html_Translation_table function မှတဆင့် HTML entity ၏ဘာသာပြန်စာသားကိုရနိုင်သည်။
<?php
$table = get_html_translation_table(HTML_ENTITIES);
print_r($table);
?>
output ကိုကြည့်ပါလိမ့်မယ်:
Array
(
[&] => &
["] => "
['] => '
[<] => <
[>] => >
[ ] =>
...
)
ဤခင်းကျင်းမှုရှိဇာတ်ကောင်တစ် ဦး စီသည်သက်ဆိုင်ရာ HTML entity အဖြစ်မှလွတ်မြောက်သည်။
ကျွန်ုပ်တို့တွင်အထူးအက္ခရာများပါ 0 င်သော string တစ်ခုရှိသည်ဆိုပါစို့။ Get_Html_Translation_table နှင့်ပေါင်းစပ်ထားသော strtr function ကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
<?php
$string = "This is a <div> tag & a \"quote\" example!";
$table = get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES);
$escaped_string = strtr($string, $table);
echo $escaped_string;
?>
ထုတ်လုပ်မှု -
This is a <div> tag & a "quote" example!
သင်တွေ့ရသည့်အတိုင်း HTML အထူးအက္ခရာများ (ဥပမာ < , > နှင့် & , " ) ကိုမှန်ကန်စွာထွက်ပြေးတိမ်းရှောင်ခဲ့ရသည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင် URL မှလွတ်မြောက်မှုသည်ဆေးထိုးတိုက်ခိုက်မှုများကိုရှောင်ရှားရန်လိုအပ်နိုင်သည်။ သင်၏ URL လိပ်စာတွင်အထူးအက္ခရာများပါ 0 င်ပါက၎င်းတို့အားသင်ကိုယ်တိုင်မှလွတ်မြောက်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, အောက်ပါ URL ကိုတိကျသောဒိုမိန်းအမည်နှင့်အစားထိုးနိုင်သည်။
<?php
$url = "http://example.com/?query=hello&name=world";
$url = str_replace("example.com", "gitbox.net", $url);
echo $url;
?>
ထုတ်လုပ်မှု -
http://gitbox.net/?query=hello&name=world
ဤနည်းအားဖြင့် Domain Name ကိုမူရင်း URL တွင် Gitbox.net ရှိမူလ URL တွင်အစားထိုးသည်။ URL ၏လုံခြုံရေးကိုသေချာစေသည်။
Get_Html_Translation_table function ကိုအသုံးပြုခြင်း strtr သို့မဟုတ်အခြား PHP string struction လုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်ပြီးကျွန်ုပ်တို့သည် HTML အဖွဲ့အစည်းများအားအလားအလာရှိသောလုံခြုံရေးအန္တရာယ်များကိုကာကွယ်ရန်ထိရောက်စွာလွတ်မြောက်နိုင်ကြသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အသုံးပြုသူမှထည့်သွင်းထားသောအထူးအက္ခရာများကိုမှန်ကန်စွာထွက်ပြေးတိမ်းရှောင်ရန်သေချာစေရန်အထူးသဖြင့်ပြင်ပမှထည့်သွင်းထားသည့်အချက်အလက်များကိုလုပ်ဆောင်သောအခါ။
သက်ဆိုင်သောတက်(ဂ်)များ:
HTML