Krav: Udtræk kildekoden i ASP.NET MVC for at validere potentielt farlige data i anmodningsformularen. Kort sagt verificerer den, at de anmodede data indeholder cross-site scripting (XSS) indhold,XSS er som standard blokeret i MVC。
Cross-site scripting (XSS) er en sikkerhedssårbarhed, der kan findes i nogle webapplikationer. XSS-angreb gør det muligt for angribere at injicere klientside-scripts i websider, som andre brugere ser dem. Angribere kunne udnytte sårbarheder i cross-site scripting til at omgå adgangskontroller som for eksempel samme oprindelsespolitikker. ValidateInput: Udløser validering af samlinger, der tilgås via egenskaberne Cookies, Form og QueryString. skulleHttpRequestKlassen bruger inputvalideringsflaget til at spore, om validering udføres på en samling af forespørgsler, der tilgår QueryString via Cookies-ejendomsformularen.
public void ValidateInput() { Det giver ikke mening at ringe til dette flere gange per anmodning. Derudover, hvis valideringen blev undertrykt, er det ikke længere operationelt. hvis (ValidateInputWasCalled || RequestValidationSuppressed) { returbillet; }
_Flag. Set(hasValidateInputBeenCalled);
Dette er for at forhindre nogle XSS (cross site scripting) angreb (ASURT 122278) _Flag. Set(needToValidateQueryString); _Flag. Sæt (needToValidateForm); _Flag. Sæt (needToValidateCookies); _Flag. Set(needTovalidatePostedFiles); _Flag. Set(needToValidateRawUrl); _Flag. Set(needToValidatePath); _Flag. Set(needToValidatePathInfo); _Flag. Set(needToValidateHeaders); } Dokumentation:Hyperlink-login er synlig.
Valider potentielt farlige data:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, som vist i figuren nedenfor:
Kildekodeadresse:
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Kopier kildekoden ind i dit projekt og test den som følger:
Kilde:
Hvis du virkelig vil modtage farligt indhold, kan du bruge Request.Unvalidated.Form
(Slut)
|