Um zu verhindern, dass meine Anwendung mit dem Fehler "Eine potenziell gefährliche Anforderung.Formwert wurde gefunden ..." abstürzte, habe ich die Gültigkeitsprüfung der Seite gerade deaktiviert. Ich möchte das noch einmal überprüfen und es richtig lösen.Strategie zum automatischen Kodieren von Texteingaben?
Gibt es dafür eine gute Strategie? Wenn Leute '<' und '>' eingeben, denke ich, dass die einzige Möglichkeit, ihre Daten zu speichern, darin besteht, sie über JavaScript zu verschlüsseln. Ich habe versucht, es im Code-Behind einzufangen, aber es wird zu spät. Ich denke daran, das Textfeld zu erben und die Eingabe mit Client-Skripts automatisch zu codieren/dekodieren. Ich muss auch an alle spitzen Klammern denken, die bereits in meiner Datenbank gespeichert sind.
Irgendwelche Vorschläge oder Erfahrungen damit?
In welchem Teil des Lebenszyklus würden Sie dies tun, egal wo ich versuche, bekomme ich die "potenziell gefährlich ..." geworfen. Ich denke, die Client-Seite ist die einzige Möglichkeit, dies zu handhaben (?) – TruMan1
Dies kann nur durchgeführt werden, wenn Sie Ihre Seitenvalidierung ausgeschaltet haben. @Bumble Bee schlägt tatsächlich vor, dass Sie es ausgeschaltet lassen, und verwenden Sie Server.HtmlEncode, um die Werte zu überprüfen, die Sie von Ihrem Benutzer erhalten haben. – Gidon
Die Codierung der Eingabe sieht für mich wie eine schlechte Architektur aus. Sie müssen den Ausgang codieren. Einige View Engines (wie Razor) machen das automatisch. – CodesInChaos