Nõuded: Ekstrakti lähtekood ASP.NET MVC-st, et valideerida potentsiaalselt ohtlikke andmeid taotlusvormis. Lihtsalt öeldes kontrollib see, et taotletud andmetel on rist-saidi skriptimise (XSS) sisu,XSS on vaikimisi MVC-s blokeeritud。
Rist-saidi skriptimine (XSS) on turvaauk, mida võib leida mõnedes veebirakendustes. XSS-rünnakud võimaldavad ründajatel sisestada kliendipoolseid skripte veebilehtedele, mida teised kasutajad vaatavad. Ründajad võiksid kasutada ristsaidi skriptimise haavatavusi, et mööda hiilida juurdepääsukontrollidest, nagu sama-päritolu poliitikad. ValidateInput: Kontrollib kogusid, millele pääseb ligi Cookies, Form ja QueryString omaduste kaudu. PeaksHttpRequestKlass kasutab sisendi valideerimise lippu, et jälgida, kas valideerimine toimub päringute kogumi puhul, mis pääsevad QueryStringile ligi küpsiste omadusvormi kaudu.
public void ValidateInput() { Ei ole mõistlik seda mitu korda ühe taotluse kohta helistada. Lisaks, kui kinnitus on alla surutud, siis nüüd mitte-op. if (ValidateInputWasCalled || RequestValidationSuppressed) { Tagasi; }
_Lipud. Set(hasValidateInputBeenCalled);
See on selleks, et vältida mõningaid XSS (ristsaidi skriptimise) rünnakuid (ASURT 122278) _Lipud. Set(needToValidateQueryString); _Lipud. Set(needToValidateForm); _Lipud. Set(needToValidateCookies); _Lipud. Set(needToValidatePostedFiles); _Lipud. Set(needToValidateRawUrl); _Lipud. Set(needToValidatePath); _Lipud. Set(needToValidatePathInfo); _Lipud. Set(needToValidValidePäiste); } Dokumentatsioon:Hüperlingi sisselogimine on nähtav.
Valideeri potentsiaalselt ohtlikke andmeid:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, nagu alloleval joonisel näidatud:
Lähtekoodi aadress:
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.
Kopeeri lähtekood oma projekti ja testi seda järgmiselt:
Allikas:
Kui sa tõesti tahad ohtlikku sisu saada, võid kasutada Request.Unvalidated.Form
(Lõpp)
|