လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Session Security - Cross-Domain နှင့် XSS တိုက်ခိုက်မှုဆိုင်ရာကြိုတင်ကာကွယ်ရေးမူဝါဒ

PHP Session Security - Cross-Domain နှင့် XSS တိုက်ခိုက်မှုဆိုင်ရာကြိုတင်ကာကွယ်ရေးမူဝါဒ

M66 2025-07-07

PHP သည် Cross-Domain နှင့် Cross-site scripting တိုက်ခိုက်မှုများအကြားဆက်နွယ်မှု

ကွန်ယက်အက်ပလီကေးရှင်းများကိုကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုခြင်းဖြင့်လုံခြုံရေးပြ issues နာများသည်လူတို့၏အာရုံကိုဆွဲဆောင်နေသည်။ ကွန်ယက်အက်ပလီကေးရှင်းများကိုတီထွင်သောအခါအသုံးပြုသူအစည်းအဝေးများကိုကိုင်တွယ်ခြင်းသည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ PHP သည်အဆင်ပြေသော session စီမံခန့်ခွဲမှုယန္တရားကိုထောက်ပံ့ပေးသည်။ သို့သော်ဆွေးနွေးပွဲတွင်လုံခြုံရေးဆိုင်ရာအန္တရာယ်များရှိသည်။ အထူးသဖြင့် Cross-Domain နှင့် Cross-site scripting တိုက်ခိုက်မှုများ (XSS) နှင့်ဆက်စပ်သောလုံခြုံရေးဆိုင်ရာအန္တရာယ်များလည်းရှိသည်။

Cross-Domain တိုက်ခိုက်မှုအန္တရာယ်

နယ်စပ်ဖြတ်ကျော်တိုက်ခိုက်မှုများ (Cross-Domain) သည် 0 ဘ်ဆိုဒ်တစ်ခု၏လုံခြုံရေးအားနည်းချက်များကိုအသုံးပြုခြင်းကိုရည်ညွှန်းသည်။

ဘရောင်ဇာ၏တူညီသောပေါ်လစီသည်များသောအားဖြင့် domains ကွဲပြားခြားနားသောဝက်ဘ်စာမျက်နှာများအကြားအပြန်အလှန်ဆက်သွယ်မှုကိုကန့်သတ်ထားသည်,

PHP တွင် Session ID ကို PhpsEdID အမည်ရှိ cookie တွင်ပုံမှန်အားဖြင့်သိမ်းဆည်းထားသည်။ များသောအားဖြင့်ဤ cookie ၏ဒိုမိန်းသည်ဆာဗာ၏ဒိုမိန်းအမည်ဖြစ်သည်။ သို့သော်အဆင်ပြေစေရန်အတွက် developer များက cookie ၏ဒိုမိန်းကို Wildcard သို့ပြောင်းရွှေ့နိုင်သည်။ အကယ်. တိုက်ခိုက်သူတစ် ဦး သည်အလွန်ဆိုးဝါးသော script များကို subddomain စာမျက်နှာတစ်ခုသို့ထိုးသွင်းနိုင်ပါကသူသည်ဤမျှဝေထားသော session ကိုတိုက်ခိုက်ရန်အတွက်ဤမျှဝေထားသော session ကိုသုံးနိုင်သည်။

Cross- ဒိုမိန်းတိုက်ခိုက်မှုများကိုရှောင်ရှားရန်

ထိုကဲ့သို့သောပြ problems နာများကိုရှောင်ရှားရန် session cookie ကိုလက်ရှိဒိုမိန်းအမည်တွင်သာတရားဝင်ဖြစ်ရန်အကြံပြုသည်။ ၎င်းကို Session.cookie_Domain ကိုချိန်ညှိခြင်းဖြင့်အောင်မြင်နိုင်သည်။ ဥပမာမှာအောက်ပါအတိုင်းဖြစ်သည် -

<?php

session_set_cookie_params(0, '/' , $_SERVER 4 Code [ 'HTTP_HOST' ], false, true);

session_start();

?>

ဤနည်းအားဖြင့်အခြားဒိုင်ဒက်များတွင်အားနည်းချက်ရှိလျှင်ပင်တိုက်ခိုက်သူများသည်ဤ session ကို အသုံးချ. မရပါ။

Cross-site scripting တိုက်ခိုက်မှု (XSS) Vs. vs. vs.

Cross-site scripting တိုက်ခိုက်မှု (XSS) သည်တိုက်ခိုက်သူအားဝက်ဘ်ဆိုက်တစ်ခုသို့အန္တရာယ်ရှိသည့် scripts ထိုးသွင်းသူကိုရည်ညွှန်းသည်။ အသုံးပြုသူတစ် ဦး သည်ဝဘ်စာမျက်နှာတစ်ခုကိုရယူသောအခါ script ကိုကွပ်မျက်သည်။ တိုက်ခိုက်သူသည်အသုံးပြုသူအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုရယူရန်သို့မဟုတ်အန္တရာယ်ရှိသောလုပ်ဆောင်မှုများကိုလုပ်ဆောင်ရန်ဤ scripts ကိုအသုံးပြုသည်။

PHP တွင် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်သော့ချက်မှာအသုံးပြုသူ input ကိုလုံခြုံစွာကိုင်တွယ်ရန်ဖြစ်သည်။ အသုံးပြုသူမှအကြောင်းအရာ input ကို 0 က်ဘ်စာမျက်နှာသို့တိုက်ရိုက်ထုတ်ယူပါကအန္တရာယ်ရှိသော script ကိုကွပ်မျက်ခံရနိုင်သည်။

PHP တွင် XSS ကာကွယ်မှုနည်းလမ်း

PHP သည် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အတွက်လုပ်ဆောင်ချက်များစွာကိုပေးသည်။ ထို့အပြင် strips_tags function ကိုအသုံးပြုသူ၏လုံခြုံရေးတိုးမြှင့်ခြင်းအတွက် HTML tags များကို deplet tags များကိုဖျက်ရန်အသုံးပြုနိုင်သည်။

အသုံးပြုသူ input ကိုလုံခြုံစွာကိုင်တွယ်ဖြေရှင်းနည်းကိုပြသသည့်ရိုးရှင်းသောကုဒ်နမူနာတစ်ခုရှိသည်။

<?php

$input = $_POST [ 'input' ];

// 使用htmlspecialchars转义特殊字符

$input = htmlspecialchars( $input );

// 删除用户输入中的HTML标签

$input = strip_tags ( $input );

echo $input ;

?>

ဤဥပမာတွင်သုံးစွဲသူထည့်သွင်းထားသောအထူးအက္ခရာများမှလွတ်မြောက်ရန် HTMLSPECALCALCHAR Function ကို ဦး စွာအသုံးပြုပါ။ ထို့နောက် HTML tags များအားလုံးကိုဖယ်ရှားရန် strip_tags function ကိုသုံးပါ။

အကျဉ်းချုပ်

PHP ၏ Session စီမံခန့်ခွဲမှုယန္တရားသည်လက်ဝါးကပ်တိုင်ဒိုမိန်းတိုက်ခိုက်မှုများနှင့် XSS တိုက်ခိုက်မှုများတွင်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ ဤလုံခြုံရေးဆိုင်ရာခြိမ်းခြောက်မှုများသည် cookie ဒိုမိန်းကိုပြင်ဆင်ခြင်းနှင့်အသုံးပြုသူထည့်သွင်းမှု၏သင့်လျော်သောကိုင်တွယ်မှုကိုသင့်လျော်စွာပြင်ဆင်ခြင်းအားဖြင့်ထိရောက်စွာရှောင်ရှားနိုင်သည်။ အသုံးပြုသူများ၏အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုကာကွယ်ခြင်းသည်လျှောက်လွှာလုံခြုံရေးကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။