လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် CGI Cross-site scripting တိုက်ခိုက်မှု (XSS) ကာကွယ်စောင့်ရှောက်ရေးမဟာဗျူဟာနှင့်လက်တွေ့အကောင်အထည်ဖော်မှုနည်းလမ်း

PHP နှင့် CGI Cross-site scripting တိုက်ခိုက်မှု (XSS) ကာကွယ်စောင့်ရှောက်ရေးမဟာဗျူဟာနှင့်လက်တွေ့အကောင်အထည်ဖော်မှုနည်းလမ်း

M66 2025-06-25

PHP နှင့် CGI တို့တွင် Cross-site scripting တိုက်ခိုက်မှုများအတွက်ကြိုတင်ကာကွယ်ရေးအစီအမံများနှင့်အကောင်အထည်ဖော်မှုနည်းလမ်းများ

အင်တာနက်လျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူကွန်ရက်လုံခြုံရေးပြ issues နာများသည်ပိုမိုအရေးကြီးလာသည်နှင့်အမျှပိုမိုအရေးကြီးလာသည်။ ၎င်းတို့အနက် Cross-site scripting (XSS) သည်ဘုံနှင့်အလေးအနက်ထားသောအန္တရာယ်ရှိသောတိုက်ခိုက်မှုဖြစ်သည်။ ဤဆောင်းပါးသည် PHP နှင့် CGI ပရိုဂရမ်ဝန်းကျင်ပတ် 0 န်းကျင်တွင် Cross-site scripting တိုက်ခိုက်မှုများကိုမည်သို့ထိရောက်စွာတားဆီးရန်နှင့်လက်တွေ့ကျကျကုဒ်များကိုဥပမာပေးနိုင်ပုံကိုလေ့လာနိုင်သည်။

1 ။ Cross-site script ကိုတိုက်ခိုက်မှု၏နိယာမ

Cross-site scripting တိုက်ခိုက်မှုများသည်တိုက်ခိုက်သူများအားဝက်ဘ်ဆိုက်များထဲသို့အန္တရာယ်ရှိသော scripts များထဲသို့ 0 င်ရောက်ခြင်း, တိုက်ခိုက်သူများသည်ဤအရာကိုအသုံးပြုသူ၏သတင်းအချက်အလက်များကို အသုံးပြု. ဝက်ဘ်ဆိုက်များကိုကြည့်ခြင်းစသည်တို့ကိုအသုံးပြုသည်။ XSS ကိုအဓိကအားဖြင့်အမျိုးအစားသုံးမျိုးခွဲခြားထားသည် - သိုလှောင်မှုအမျိုးအစား, ရောင်ပြန်ရေးအမျိုးအစားနှင့် dom type ။

ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန်အကာအကွယ်အစီအမံများလိုအပ်သည်။

2 ။ ကြိုတင်ကာကွယ်မှုအစီအမံများနှင့်အကောင်အထည်ဖော်နည်းလမ်းများ

1 ။ filtering နှင့်စိစစ်အတည်ပြု

အသုံးပြုသူ input သည် XSS တိုက်ခိုက်မှုများအတွက်အဓိက entry ကိုဆိုလိုသည်။ ထည့်သွင်းမှုအကြောင်းအရာကို PHP နှင့် CGI မှပေးသောလုပ်ဆောင်ချက်များကို အသုံးပြု. PHP နှင့် CGI မှပေးသောလုပ်ဆောင်ချက်များကို အသုံးပြု. အတည်ပြုပြီးအတည်ပြုပြီးဖြစ်သည်။

 // 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;
}

// CGIအထူးအက္ခရာများကိုစစ်ထုတ်ပါ
sub filter_input {
  my ($input) = @_;
  $input =~ s/</</g;
  $input =~ s/>/>/g;
  $input =~ s/'/&apos;/g;
  $input =~ s/"/"/g;
  return $input;
}

// CGIinput ကိုအရှည် Verify
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;
}

2 ။ output encoding

output content ကို encoding encoding encoding browser သည်၎င်းကို executable code သို့ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အန္တရာယ်ရှိသောဇာတ်ညွှန်းကိုရှောင်ရှားခြင်းမပြုရန်သေချာစေသည်။

 // PHPoutput encoding
function output_encode($output) {
  return htmlspecialchars($output, ENT_QUOTES, 'UTF-8');
}

// CGIoutput encoding
sub output_encode {
  my ($output) = @_;
  $output =~ s/</</g;
  $output =~ s/>/>/g;
  $output =~ s/'/&apos;/g;
  $output =~ s/"/"/g;
  return $output;
}

3 ။ HTTP လုံခြုံရေးခေါင်းစီးကိုသတ်မှတ်ပါ

0 က်ဘ်စာမျက်နှာများတွင်တင်ဆောင်နိုင်သည့်အရင်းအမြစ်များဖြစ်သောအရင်းအမြစ်များ (CSP) ကဲ့သို့သောသင့်လျော်သော http response headers headers များကိုပြင်ဆင်ခြင်းဖြင့် 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'\n";

4 ။ လုံခြုံတဲ့ session တစ်ခုယန္တရားကိုသုံးပါ

Session Security ကိုတိုးမြှင့်ခြင်းနှင့် session ပြန်ပေးဆွဲခြင်းကိုရှောင်ရှားပါ။ PHP တွင်သင် session_regenate_id () နှင့် session_set_set_cookie_Iss_params () ကိုသုံးနိုင်သည်။

 // PHPတည်ဆောက်သည်sessionဘေးကင်းလုံခြုံရေး parameters တွေကို
session_set_cookie_params(0, '/', '', true, true);
session_regenerate_id();

5 ။ firewall ဖြန့်ကျက်

ဆာဗာအဆင့် Firewall သည် Remote and FTP ကဲ့သို့သောဝေးလံခေါင်သီသောနေရာများ (SSH နှင့် FTP ကဲ့သို့သော ports များကိုကန့်သတ်ထားသည်။

3 ။ အကျဉ်းချုပ်

Cross-site scripting တိုက်ခိုက်မှုများသည်ဘုံနှင့်ကြီးမားသောလုံခြုံရေးခြိမ်းခြောက်မှုများဖြစ်သည်။ input filtering and verification, output encoding, http header settings, secure session settings, firewall protection, firewall ကာကွယ်မှု, အသုံးပြုသူအချက်အလက်များနှင့်အသုံးချပရိုဂရမ်များလုံခြုံမှုရှိစေရန် Developer များလုံခြုံရေးအတွက်လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်များကိုဆက်လက်အာရုံစိုက်သင့်သည်။

အထက်ဖော်ပြပါအချက်သည် PHP နှင့် CGI ပတ် 0 န်းကျင်တွင် Cross-site scripting တိုက်ခိုက်မှုများကိုကာကွယ်ရန်လက်တွေ့ကျသောနည်းလမ်းဖြစ်သည်။ သင်၏ဖွံ့ဖြိုးရေးလုပ်ငန်းများအတွက်အထောက်အကူပြုလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။