Reikalavimai: Išskleiskite šaltinio kodą ASP.NET MVC, kad patvirtintumėte potencialiai pavojingus duomenis užklausos formoje. Paprasčiau tariant, jis patikrina, ar prašomi duomenys turi kelių svetainių scenarijų (XSS) turinį,XSS blokuojamas pagal numatytuosius nustatymus MVC。
Kelių svetainių scenarijai (XSS) yra saugos pažeidžiamumas, kurį galima rasti kai kuriose žiniatinklio programose. XSS atakos leidžia užpuolikams įterpti kliento scenarijus į kitų vartotojų peržiūrėtus tinklalapius. Užpuolikai gali išnaudoti kelių svetainių scenarijų pažeidžiamumą, kad apeitų prieigos kontrolę, pvz., tos pačios kilmės politiką. ValidateInput: pateikia rinkinių, pasiekiamų naudojant ypatybes Cookies, Form ir QueryString, patvirtinimą. TurėtųHttpRequestKlasė naudoja įvesties tikrinimo vėliavėlę, kad galėtų sekti, ar tikrinamas užklausų rinkinys, pasiekiantis QueryString per slapukų ypatybės formą.
public void ValidateInput() { Nėra prasmės skambinti kelis kartus per užklausą. Be to, jei patvirtinimas buvo nuslopintas, ne-op dabar. if (ValidateInputWasCalled || RequestValidationSuppressed) { grįžti; }
_Vėliavos. Set(hasValidateInputBeenCalled);
Taip siekiama užkirsti kelią kai kurioms XSS (kryžminių svetainių scenarijų) atakoms (ASURT 122278) _Vėliavos. Set(NeedToValidateQueryString); _Vėliavos. Set(NeedToValidateForm); _Vėliavos. Set(NeedToValidateCookies); _Vėliavos. Set(NeedToValidatePostedFiles); _Vėliavos. Set(NeedToValidateRawUrl); _Vėliavos. Set(NeedToValidatePath); _Vėliavos. Set(NeedToValidatePathInfo); _Vėliavos. Set(NeedToValidateHeaders); } Dokumentacija:Hipersaito prisijungimas matomas.
Patikrinkite potencialiai pavojingus duomenis:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, kaip parodyta toliau pateiktame paveikslėlyje:
Šaltinio kodo adresas:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Nukopijuokite šaltinio kodą į savo projektą ir išbandykite jį taip:
Šaltinis:
Jei tikrai norite gauti pavojingą turinį, galite naudoti Request.Unvalidated.Form
(Pabaiga)
|