Anforderungen: Extrahieren Sie den Quellcode in ASP.NET MVC, um potenziell gefährliche Daten im Anforderungsformular zu validieren. Einfach ausgedrückt überprüft es, dass die angeforderten Daten Cross-Site-Scripting (XSS)-Inhalte enthalten,XSS wird standardmäßig in MVC blockiert。
Cross-Site-Scripting (XSS) ist eine Sicherheitslücke, die in einigen Webanwendungen vorkommt. XSS-Angriffe ermöglichen es Angreifern, clientseitige Skripte in Webseiten einzuschleusen, die von anderen Nutzern angesehen werden. Angreifer könnten Site-übergreifende Skriptverwundbarkeiten ausnutzen, um Zugriffskontrollen wie Same-Origin-Richtlinien zu umgehen. ValidateInput: Führt die Validierung von Sammlungen durch, die über die Eigenschaften Cookies, Form und QueryString abgerufen werden. sollenHttpRequestDie Klasse verwendet das Eingabe-Validierungsflag, um zu verfolgen, ob die Validierung bei einer Sammlung von Anfragen, die über das Cookie-Eigenschaftsformular auf die QueryString zugreifen, durchgeführt wird.
public void ValidateInput() { Es macht keinen Sinn, das mehrmals pro Anfrage anzurufen. Außerdem, falls die Validierung unterdrückt wurde, jetzt kein Operativ. wenn (ValidateInputWasCalled || RequestValidationSuppressed) { Rückgabe; }
_Flaggen. Set(hasValidateInputBeenCalled);
Dies dient dazu, einige XSS-Angriffe (Cross Site Scripting) (ASURT 122278) zu verhindern. _Flaggen. Set(needToValidateQueryString); _Flaggen. Set(needTovalidateForm); _Flaggen. Set(needTovalidateCookies); _Flaggen. Set(needToValidatePostedFiles); _Flaggen. Set(needToValidateRawUrl); _Flaggen. Set(needTovalidatePath); _Flaggen. Set(needToValidatePathInfo); _Flaggen. Set(needToValidateHeaders); } Dokumentation:Der Hyperlink-Login ist sichtbar.
Validiere potenziell gefährliche Daten:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, wie in der untenstehenden Abbildung dargestellt:
Quellcode-Adresse:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Kopiere den Quellcode in dein Projekt und teste ihn wie folgt:
Quelle:
Wenn du wirklich gefährliche Inhalte erhalten möchtest, kannst du Request.Unvalidated.Form verwenden
(Ende)
|