Cross-site scripting (XSS) တိုက်ခိုက်မှုများသည်ခေတ်သစ်ကွန်ယက်အက်ပလီကေးရှင်းများ၌ဘုံလုံခြုံရေးခြိမ်းခြောက်မှုများအနက်မှတစ်ခုဖြစ်သည်။ တိုက်ခိုက်သူသည်အသုံးပြုသူများသို့မဟုတ် Hijack အသုံးပြုသူအစည်းအဝေးများမှအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုခိုးယူရန်အန္တရာယ်ရှိသော scripts များကိုထိုးသွင်းနိုင်သည်။ ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန် developer များသည်အသုံးပြုသူထည့်သွင်းမှုများကိုတင်းကြပ်စွာ filter လုပ်ရမည်။ ဤဆောင်းပါးသည် Phalcon မူဘောင်တွင်သတင်းများဖြင့်ယုံကြည်စိတ်ချရသော XSS ကာကွယ်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပုံကိုမိတ်ဆက်ပေးလိမ့်မည်။
Phalcon သည်စွမ်းအင်သုံး PHP framework ဖြစ်သည်။ တောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများအကြားယန္တရားအလွှာအလွှာတစ်ခုအနေဖြင့်, Phalcon ၏အာဏာပိုင်များကို အသုံးပြု. XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အတွက်အကောက်ခွန်ကာကွယ်စောင့်ရှောက်ရေးဆိုင်ရာယုတ္တိဗေဒကိုထည့်သွင်းနိုင်သည်။
ဦး စွာ, ကျွန်ုပ်တို့သည်စစ်ထုတ်သည့်ရေစစ်များကိုဖန်တီးရန်လိုအပ်ပြီးအသုံးပြုသူထည့်သွင်းမှုမှလွတ်မြောက်ရန်လိုအပ်သည်။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။
<?php use Phalcon\Mvc\Micro\MiddlewareInterface; class XssProtectionMiddleware implements MiddlewareInterface { public function call($app) { // တောင်းဆိုမှုကိုအရာဝတ်ထုရယူပါ $request = $app-> Gallervice ("တောင်းဆိုချက်"); // filter and forment query string ကို $ querystring = $ querystring (), $ filterededquerystring = $ ဒီ -> filterinput ($ querystring); $ တောင်းဆိုချက် -> sigquery ($ filterededquerystring); // filter နှင့်ထွက်ပေါက် post ဒေတာ $ postdata = $ တောင်းဆိုမှု -> GetPost (); $ filteredpostdata = $ ဒီ -> filterinput ($ Postdata); $ တောင်းဆိုချက် -> Setpost ($ filteredpostdata); // Nexward သို့မဟုတ် Handler $ app ကိုခေါ်ပါ။ } ပုဂ္ဂလိက function filterinput ($ ဒေတာ) { လျှင် (is_array ($ ဒေတာ)) { RETARAR_MAP ([$ ဒီ, filterinput '], $ ဒေတာ); } အခြား htmlspecialchars ($ ဒေတာ, ent_quotes) ကိုပြန်သွားပါ။ } } }
အထက်ပါကုဒ်များတွင် `xssprotectectware" ဟုခေါ်သော middleware class ကိုကျွန်ုပ်တို့ဖန်တီးသည်။ Middleware ၏ `call` method တွင်ကျွန်ုပ်တို့သည်တောင်းဆိုမှုအရာဝတ်ထုကို ဦး စွာရယူပြီး query string (query) နှင့် post အချက်အလက်များကို filter လုပ်ပါ။ `HTMLSPECALCALCHACALCHARCHARCHARCHARTCHITE Function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူထည့်သွင်းမှုရှိအထူးအက္ခရာများကိုမှန်ကန်စွာထွက်ပြေးတိမ်းရှောင်နေပြီးအန္တရာယ်ရှိသည့် script များဆေးထိုးခြင်းကိုရှောင်ရှားရန်သေချာသည်။
နောက်တစ်ခုကဖန်တီးထားသော `xsssprotectectwareMiddlemnswidnswiddlemnswidnswiddlemnewweskwidnesware application ကို Phalcon application ကိုသုံးရန်လိုအပ်သည်။ ဤတွင်နမူနာကုဒ်ဖြစ်သည်။
<?php use Phalcon\Mvc\Micro; $app = new Micro(); // တောင်းဆိုမှုကိုလုပ်ငန်းများ၌မခံရမီ,လေှျာက်လွှာXssProtectionMiddlewareMiddleweware $app-> မတိုင်မီ (New XssprotectoMiddlemnsware ()); $ app-> Get (/ မင်္ဂလာပါ), function () {) ပဲ့တင်သံ "မင်္ဂလာပါကမ္ဘာ!"; }); $ app-> လက်ကိုင် ();
In this code, we apply the `XssProtectionMiddleware` middleware to the application through the `before` method. တောင်းဆိုမှုတစ်ခုအနေဖြင့်ကွပ်မျက်ခံရတိုင်း XSS ကာကွယ်မှုသည်ထိရောက်စေရန်အတွက်ပထမ ဦး ဆုံး,
Phalcon မူဘောင်မှပေးသော Middleware အင်္ဂါရပ်များသည် XSS ကာကွယ်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်စေသည်။ အသုံးပြုသူထည့်သွင်းမှုအားဖြင့်အသုံးပြုသူထည့်သွင်းမှုအားဖြင့် filterware ကို filterward လုပ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည်အန္တရာယ်ရှိသော scripts ဆေးထိုးခြင်းကိုထိရောက်စွာကာကွယ်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် XSS အကာအကွယ်အပြင်အက်ပလီကေးရှင်း၏လုံခြုံရေးကိုပိုမိုမြှင့်တင်ရန် input verification, output encoding စသည့်အခြားလုံခြုံရေးအစီအမံများကိုလည်းပေါင်းစပ်နိုင်သည်။
Phalcon Middleware ကိုမှန်ကန်စွာအသုံးပြုခြင်းဖြင့်သင်၏လျှောက်လွှာကို XSS တိုက်ခိုက်မှုများမှကာကွယ်ရန်နှင့်သုံးစွဲသူများအနေဖြင့်အထိခိုက်မခံသောသတင်းအချက်အလက်နှင့် session လုံခြုံရေးကိုကာကွယ်နိုင်သည်။