Ich suche WMD in meinem Projekt anstelle meines bestehenden RadEditors. Ich habe ein paar Posts über das Speichern und Abrufen der Daten gelesen und möchte sicherstellen, dass ich das Konzept korrekt habe, bevor ich fortfahre.Was ist der beste Weg, um WMD-Eingabe/Abschrift in SQL Server zu speichern und später anzuzeigen?
Wenn meine Forschung stimmt, hier ist, was ich tun sollte.
- Ich soll die Editordaten speichert zweimal (einmal als HTML und einmal als Markdown)
- ich soll die HTML durch ein Whitelist vor dem Speichern ausführen.
- Ich sollte den HTML-Code über AntiXSS auf dem Weg nach draußen (vor der Anzeige)
- Ich sollte die Markdown-Daten verwenden NUR, um Markdown für die Bearbeitung neu zu füllen.
Kann jemand bestätigen oder dementieren, ob dies richtig ist, und fügen Sie auch alle nützlichen Beitrag zum Thema?
Referenzen
Reformat my code: Sanitize Html
StackOverflow: how do you store the markdown using wmd in asp net
StackOverflow: sanitize html before storing in the db or before rendering antixss library
StackOverflow: store html entities in database or convert when retrieved
Zwei Fragen ... 1) Warum Desinfektion auf Ausgabe und nicht Eingabe? und 2) Was sind diese MVC "Best Practices" ... gibt es einen Artikel zu lesen? –
@rock Sie bereinigen bei der Ausgabe, weil Sie nicht wollen, was der Benutzer in die Datenbank eingeben. Durch Bereinigen der Ausgabe behalten Sie der ursprüngliche Text für den Fall, dass Sie sich dazu entschließen, das zu ändern, was Sie verwenden, um die Eingabe zu bereinigen. "Best Practices", siehe "ASP.NET MVC 1.0" von Rob Conery, Scott Hanselman, Phil Haack und Scott Guthrie. Auch Phils Blog http://haacked.com ist eine großartige Ressource für MVC-Artikel –
Sie sind also nicht besorgt, wenn ein Benutzer Zeug wie Javascript oder bösartigen Mist in Ihre Datenbank eingibt? Auch nicht einmal auf Eingabe niedriger Systembereinigung über sanieren Bereinigen auf jeden Ausgang? –