BabyGirl Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 Hallo Leute! Ist es eigentlich sinnvoll Html Code in eine Datenbank zu speichern? Ich habe bei meinem Projekt (ASP.NET und VB.NET Technologie) eine Eingabemöglichkeit für User, damit diese Texte mit Bildern, Tabellen, diversen Formatierungen usw. eingeben können, die dann automatisch in Html Code umgewandelt werden. Nun ist die Frage inwieweit Datenbanken (MS SQL Server 2005) bzw. die SQL Anweisungen mit den Html Tags und Sonderzeichen klarkommen, nicht das mir nachher irgendwo Text abgeschnitten wird Weil wenn das so gehen würde, dann hätte ich ein Problem weniger, ansonsten muss ich mir irgendwas einfallen lassen. Mfg BabyGirl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lordy Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 Du kannst HTML natürlich in einer DB speichern, solange du den richtigen Feldtyp verwendest. Wenn du allerdings Usern die Möglichkeit gibst HTML einzufügen öfnest du XSS Tür und Tor. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 zu deiner ersten frage: ja - wenn du einen editor verwendest, der automatisch HTML erzeugt, macht das durchaus sinn - z.b. bei einem CMS. SQL server stellt einige datentypen zur verfügung, wenn du HTML-auszeichnungen in der DB ablegen willst: VARCHAR für nicht-unicode-texte, maximal 8000 zeichen TEXT für nicht-unicode-texte, theoretisch maximal 2^32-1 zeichen VARBINARY für binärrepräsentierte daten, maximal 8000 bytes IMAGE für binäre daten, theoretisch maximal 2^32-1 zeichen wenn du auszeichnungen in SQL-92's unicode speichern willst, musst du den datentypen allenfalls ein N voranstellen, verwendest also z.b. NTEXT anstatt TEXT. es passen dann aber z.b. bei VARCHAR nur mehr 4000 zeichen in das feld, weil ein zeichen durch 2 bytes repräsentiert wird. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BabyGirl Geschrieben 20. März 2006 Autor Teilen Geschrieben 20. März 2006 Erstmal Danke für eure schnellen Antworten, das hilft mir weiter Wenn du allerdings Usern die Möglichkeit gibst HTML einzufügen öfnest du XSS Tür und Tor. Jupp, aber ich hoffe mal das unsere lieben Firmenmitarbeiter sowas nicht machen, ansonsten gibt es was an die Ohren Also danke noch mal und nen schönen Abend! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tobias-digital Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 Jupp, aber ich hoffe mal das unsere lieben Firmenmitarbeiter sowas nicht machen, ansonsten gibt es was an die Ohren :eek Deine Nerven möchte ich haben! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whatever Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 :eek Deine Nerven möchte ich haben! Wieso, wenn nur Mitarbeiter der Firma die möglichkeit haben da was einzutragen ist die Sache doch erledigt... Übirgens, damit du dir keine Gedanken um Escaping, etc. machen musst...schau dir mal Prepared SQL-Statements an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BabyGirl Geschrieben 20. März 2006 Autor Teilen Geschrieben 20. März 2006 :eek Deine Nerven möchte ich haben! Ich auch :D Übirgens, damit du dir keine Gedanken um Escaping, etc. machen musst...schau dir mal Prepared SQL-Statements an. Danke für den Tip, das werd ich morgen auf Arbeit dann auch gleich mal machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lordy Geschrieben 20. März 2006 Teilen Geschrieben 20. März 2006 Jupp, aber ich hoffe mal das unsere lieben Firmenmitarbeiter sowas nicht machen, ansonsten gibt es was an die Ohren Selbst wenn aktuell davon keine Bedrohung ausgeht sollte man doch die notwendige Sorgfalt investieren. Zum einen ist es eine Übung zum Thema "Wie schreibe ich halbwegs sichere Anwendungen", zum anderen muß man sich dann nicht für seinen Code schämen, wenn man jemand fremdes reinschaut. http://blog.computerwoche.de/2005/06/26/der-hacker-in-meinem-unternehmen/ Das nur mal als Denkanstoss.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 21. März 2006 Teilen Geschrieben 21. März 2006 Wieso, wenn nur Mitarbeiter der Firma die möglichkeit haben da was einzutragen ist die Sache doch erledigt... Die allermeisten Angriffe kommen statistisch gesehen nicht von bösen Hackern irgendwo im Internet, sondern von "intern", also von Mitarbeitern! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BabyGirl Geschrieben 21. März 2006 Autor Teilen Geschrieben 21. März 2006 Nicht mal mehr Verlass auf die eigenen Mitarbeiter Ihr habt ja Recht! Werde das auf jeden Fall berücksichtigen. Zum Thema Prepared SQL-Statements: Bin da auf ne Seite gestoßen die zuvor zum Thema "SQL-Injection" etwas schreibt. Habt das mal getestet, aber anscheinend funktioniert das bei mir nicht. Kann das daran liegen, das ich ein Dataset habe, welches ich mit nem Assistenten in Visual Studio erstellt habe, in dem automatisch die SQL Anweisungen schon Prepared SQL-Statements sind? Ich hab da mal in die .xsd Datei in den Code geschaut und das sah ganz danach aus (korrigiert mich wenn ich daneben liege) Beispiel: UPDATE [dbo].[Aufgabe] SET [Ma_ID] = @Ma_ID WHERE ([Ma_ID] = @Original_Ma_ID); Die Daten hol bzw füge ich dann per Datenadapter aus dem bzw in das Dataset: ... Dim dataadapter As New SqlClient.SqlDataAdapter(sqlstr, conn) Dim commandbuilder As New SqlCommandBuilder(dataadapter) Try conn.Open() dataadapter.Update(dataset, tabellenname) commandbuilder.GetUpdateCommand() conn.Close() Catch ex As Exception ... edit: Muss noch erwähnen das, wenn ich Daten in Dataset füge, das folgendermaßen tätige: Dim row As Data.DataRow row = db.dataset.Tables(tabellenname).NewRow row(spaltenname) = eingabe.Text ... db.dataset.Tables(tabellenname).Rows.Add(row) Wer hat eigentlich die Hacker auf die Welt gelassen? Dann wär vieles einfacher Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.