အင်တာနက်လျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူကွန်ရက်လုံခြုံရေးပြ issues နာများသည်ပိုမိုအရေးကြီးလာသည်နှင့်အမျှပိုမိုအရေးကြီးလာသည်။ Cross-site scripting (XSS) သည်ဆိုက်ဘာတိုက်ခိုက်မှု၏အသုံးအများဆုံးအမျိုးအစားများအနက်မှတစ်ခုဖြစ်သည်။ ဝက်ဘ်ဆိုက်လုံခြုံရေးကိုပြင်းထန်သောခြိမ်းခြောက်မှုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP နှင့် CGI ပရိုဂရမ်ပတ်ဝန်းကျင်တွင်နက်ရှိုင်းသောနိယာမများကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီးလက်တွေ့ကာကွယ်စောင့်ရှောက်ရေးအစီအမံများနှင့်ကုဒ်အကောင်အထည်ဖော်မှုဥပမာအမျိုးမျိုးကိုမိတ်ဆက်ပေးလိမ့်မည်။
Cross-site scripting တိုက်ခိုက်မှုများသည်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုခိုးယူခြင်းသို့မဟုတ် page changes ည့်သည်များအား it ည့်သည်၏ browser တွင် execute လုပ်ရန်ဝက်ဘ်စာမျက်နှာထဲသို့ထည့်သွင်းခြင်းဖြင့်တိုက်ခိုက်သူအားရည်ညွှန်းသည်။ XSS တိုက်ခိုက်မှုများသည်အဓိကအားဖြင့်ပုံစံသုံးမျိုးပါဝင်သည်။ သိုလှောင်မှုအမျိုးအစား, ရောင်ပြန်ရေးအမျိုးအစားနှင့် dom type ။
XSS ခြိမ်းခြောက်မှုများကိုတုန့်ပြန်မှုအရ 0 ဘ်ဆိုဒ်လုံခြုံရေးကိုသေချာစေရန်သော့ချက်ကျသောကြိုတင်ကာကွယ်ရေးအစီအမံများဖြစ်သည်။
အသုံးပြုသူ input သည် XSS တိုက်ခိုက်မှုများအတွက်အဓိက 0 င်ရောက်ခြင်းဖြစ်ပြီး,
// PHPအထူးအက္ခရာများကိုစစ်ထုတ်ပါ
function filter_input($input) {
return htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
}
// PHPinput ကိုအရှည် Verify
function validate_input($input, $min_len, $max_len) {
$input_len = mb_strlen($input, 'UTF-8');
if ($input_len < $min_len || $input_len > $max_len) {
return false;
}
return true;
}
sub filter_input {
my ($input) = @_;
$input =~ s/</</g;
$input =~ s/>/>/g;
$input =~ s/'/'/g;
$input =~ s/"/"/g;
return $input;
}
sub validate_input {
my ($input, $min_len, $max_len) = @_;
my $input_len = length($input);
if ($input_len < $min_len || $input_len > $max_len) {
return 0;
}
return 1;
}
filtering input ကိုအပြင် output ကို encoding လုပ်ခြင်းသည်အန္တရာယ်ရှိသော scripts များကိုကွပ်မျက်ခြင်းမှကာကွယ်ရန်အရေးကြီးသည်။
// PHPoutput encoding
function output_encode($output) {
return htmlspecialchars($output, ENT_QUOTES, 'UTF-8');
}
sub output_encode {
my ($output) = @_;
$output =~ s/</</g;
$output =~ s/>/>/g;
$output =~ s/'/'/g;
$output =~ s/"/"/g;
return $output;
}
အကြောင်းအရာ - လုံခြုံရေးမူဝါဒကဲ့သို့သော HTTP ခေါင်းစီးများကိုသတ်မှတ်ခြင်းဖြင့်စာမျက်နှာ၏အရင်းအမြစ်ကိုကန့်သတ်ပြီး XSS အန္တရာယ်များကိုလျှော့ချနိုင်သည်။
// PHPတည်ဆောက်သည်Content-Security-Policyဉီးခေါင်း
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'");
# CGIတည်ဆောက်သည်Content-Security-Policyဉီးခေါင်း
print "Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'";
session ပြန်ပေးဆွဲခြင်းနှင့်ပြုပြင်ခြင်းကိုကာကွယ်ရန်နှင့် 0 က်ဘ်ဆိုက်လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေရန်အတွက်လုံခြုံစိတ်ချရသော session ယန္တရားတစ်ခုကိုအသုံးပြုပါ။
// PHPတည်ဆောက်သည်sessionဘေးကင်းလုံခြုံရေး parameters တွေကို
session_set_cookie_params(0, '/', '', true, true);
session_regenerate_id();
ဆာဗာအဆင့် firewalls များသည်အထိခိုက်မခံသော ports များကိုလက်လှမ်းမီနိုင်ပြီးတိုက်ခိုက်မှုဖြစ်နိုင်ခြေကိုလျှော့ချနိုင်သည်။
Cross-site scripting တိုက်ခိုက်မှုများသည်လက်ရှိအင်တာနက်ဝန်းကျင်တွင်ဘုံခြိမ်းခြောက်မှုတစ်ခုဖြစ်သည်။ Input filtering နှင့်စိစစ်ခြင်း, output encoding, output encoding, formpp လုံခြုံရေးခေါင်းကိုက်ခြင်း, formpp လုံခြုံရေးခေါင်းကိုက်ခြင်း, developer များသည် application များ၏တည်ငြိမ်မှုကိုသေချာစေရန်လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်များကိုဆက်လက်အာရုံစိုက်သင့်သည်။
ဤဆောင်းပါးသည် PHP နှင့် CGI ပတ် 0 န်းကျင်ရှိ Cross-site scripting တိုက်ခိုက်မှုများအတွက်ကာကွယ်ရေးနည်းဗျူဟာများနှင့်ကုဒ်အကောင်အထည်ဖော်မှုကိုအသေးစိတ်ဖော်ပြခဲ့သည်။ လုံခြုံစိတ်ချရသော 0 ဘ်ဆိုဒ်တစ်ခုတည်ဆောက်ရန်သင့်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုကျွန်ုပ်တို့မျှော်လင့်ပါသည်။