Zahteve: Izvleči izvorno kodo v ASP.NET MVC za preverjanje potencialno nevarnih podatkov v obrazcu za zahtevo. Preprosto povedano, preverja, da zahtevani podatki vsebujejo vsebino za cross-site scripting (XSS),XSS je privzeto blokiran v MVC。
Cross-site scripting (XSS) je varnostna ranljivost, ki jo najdemo v nekaterih spletnih aplikacijah. XSS napadi omogočajo napadalcem, da vbrizgajo skripte na strani odjemalca v spletne strani, ki si jih ogledajo drugi uporabniki. Napadalci bi lahko izkoristili ranljivosti skriptiranja med lokacijami za obhod nadzora dostopa, kot so politike istega izvora. ValidateInput: Vrže preverjanje zbirk, dostopanih preko lastnosti piškotkov, obrazcev in QueryString. bi moralHttpRequestRazred uporablja vhodno zastavico validacije za sledenje, ali se validacija izvaja na zbirki zahtev, ki dostopajo do QueryString preko obrazca lastnosti Cookies.
public void ValidateInput() { Nima smisla, da to kličeš večkrat na zahtevo. Poleg tega, če je bila validacija potlačena, zdaj no-op. if (ValidateInputWasCalled || RequestValidationSuppressed) { vrnitev; }
_Zastave. Set(hasValidateInputBeenCalled);
To je namenjeno preprečevanju nekaterih XSS (cross site scripting) napadov (ASURT 122278) _Zastave. Set(needToValidateQueryString); _Zastave. Set(needToValidateForm); _Zastave. Set(needToValidateCookies); _Zastave. Set(needToValidatePostedFiles); _Zastave. Set(needToValidateRawUrl); _Zastave. Set(needToValidatePath); _Zastave. Set(needToValidatePathInfo); _Zastave. Set(needToValidateHeaders); } Dokumentacija:Prijava do hiperpovezave je vidna.
Preverite potencialno nevarne podatke:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, kot je prikazano na spodnji sliki:
Naslov izvorne kode:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Kopirajte izvorno kodo v svoj projekt in jo preizkusite na naslednji način:
Izvir:
Če res želite prejemati nevarno vsebino, lahko uporabite Request.Unvalidated.Form
(Konec)
|