Zum Inhalt springen

Html Code in der Datenbank speichern


BabyGirl

Empfohlene Beiträge

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 :rolleyes:

Weil wenn das so gehen würde, dann hätte ich ein Problem weniger, ansonsten muss ich mir irgendwas einfallen lassen.

Mfg

BabyGirl

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Also danke noch mal und nen schönen Abend!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jupp, aber ich hoffe mal das unsere lieben Firmenmitarbeiter sowas nicht machen, ansonsten gibt es was an die Ohren :D

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....

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...