2009-03-31 8 views
2

Ich muss ein Validierungs-Steuerelement überprüfen, aber ich bin mir nicht sicher, welche Art von Text ASP.NET denkt, ist ein Sicherheitsproblem. Kann mir jemand etwas zum Ausprobieren geben? Ich habe verschiedene HTML-Tags ausprobiert und es scheint, dass sie gut sind. Dies ist ein mehrzeiliges Rich-Textfeld, das zum Speichern eines Textfeldes in der Datenbank verwendet wird. Der Code zum Speichern ist in einem If Me.IsValid ohne ELSE angegeben, aber nachdem die Speicherfunktion aufgerufen wurde, wird eine gespeicherte Nachricht angezeigt und die Seite umgeleitet. Einige Benutzer haben Arbeit verloren, daher denke ich, dass Me.IsValid falsch ist, also wird die Speicherfunktion aufgerufen, tut aber nichts ... Wie auch immer kann ich versuchen, dies mit ungültig zu machen? Hinweis Ich habe den Code dafür nicht geschrieben. Ich bin nur an der Fehlersuche.Beispieltext, der die ASP.NET-Texteingabe ungültig macht?

+0

Können Sie die Markierung oder den Code posten? Ist EnableEventValidation auf der Seite auf true (oder nicht festgelegt) oder false festgelegt? Ich würde denken, dass fast HTML abgelehnt würde, wenn EnableEventValidation nicht auf false gesetzt wäre. Wenn es auf "false" gesetzt ist, wird nur der Validierungssatz im Code angezeigt. – tvanfosson

Antwort

2

Es klingt, als ob Sie Validator-Steuerelemente mit ValidateRequest, einem internen Mechanismus von ASP.Net zur Bereinigung von Anfragen, verwirren.

Die Validierervalidierung hängt vollständig von Ihren Validatoren ab. Verwenden Sie einen RequiredFieldValidator? Dann sind die ungültigen Eingaben einfach leere Textfelder. Ist es ein RegularExpressionValidator? Dann müssen Sie etwas eingeben, das nicht mit dem regulären Ausdruck übereinstimmt. KundenValidator? Dann müssen Sie die Validierungslogik überprüfen.

Es klingt für mich eher so, als ob Sie sich Sorgen darüber machen, dass die Eingabe für das Ausführen von Datenbankabfragen mit bereinigt wird. Das erste, was Sie überprüfen müssen, ist, dass in Ihrer Page-Direktive "ValidateRequest" nicht auf "false" gesetzt ist. Wenn ja, würde das erklären, warum HTML durchgelassen wird.

Sie sollten auch den folgenden Besuche:

How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings

Validating User Input in ASP.NET Web Pages

Dann, wenn Sie einen Datenbank-Injection-Angriff versuchen mögen, Google nur für ein grundlegendes SQL-Injection-Tutorial.

0
javascript:alert('rrrrrooooaaaarrrrr'); 

Ist ein guter Anfang.

0

einige ASCII-Codes für nicht Bruchräume Versuchen, Wagenrücklauf usw.

Da Sie in einer Datenbank sind zu speichern, versuchen, einige SQL-Injection als auch.

+0

Ah ja, ein "Little Bobby Tables" -Test. =) – gnovice

+0

Nun, ich hoffe du bist glücklich. Wir haben alle Schülerrekorde für das Jahr verloren. – womp

Verwandte Themen