Laden...

Alles an Text in DB schreiben

Erstellt von Curse4Life vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.527 Views
C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren
Alles an Text in DB schreiben

Hi,

da ich von PHP komme, kenne ich mich mit MS SQL noch nicht so gut aus, doch gehe ich mal davon aus, dass es genau so ist wie MySQL was sonderzeichen angeht, dann muss man die ja irgendwie schützen.

Das ist meine Frage ich möchte gerne den kompletten Quelltext einer Seite in die DB schreiben, wie lauten die C# Methoden um slashes und HTML Tags, einfache Ticks usw. zu schützen?

mfg

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo Curse4Life,

ist eine Frage für Datentechnologien.

Eigentlich muss man da gar nichts quoten. Einfach als Parameter definieren.

herbivore

178 Beiträge seit 2006
vor 18 Jahren

Moin,

einfach reinhauen 😉

Enjoy

Christian Arnold

D
155 Beiträge seit 2005
vor 18 Jahren

Unter "einfach reinhauen" würde ich folgendes verstehen:

string sHTML;
SqlCommand cmd = new SqlCommand();

cmd.CommandText = "INSERT INTO t_HTML(HTML) VALUES('" + sHTML + "');";

Das ist natürlich nicht der richtige Ansatz. Bitte Parameter verwenden (wie herbivore bereits sagte). Parameter sind die beste Sicherheit um SQL Injection vorzubeugen.

string sHTML;
SqlConnection cn = new SqlConnection(); //Set connection
SqlCommand cmd = new SqlCommand("INSERT INTO t_HTML(HTML) VALUES (@HTML);", cn);
SqlParameter p = new SqlParameter();
p.Value = sHTML;
p.Name = "@HTML"
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();

178 Beiträge seit 2006
vor 18 Jahren

Nein, einfach "alles rein" heißt natürlich nicht ohne Paramter zu arbeiten sondern das er sich um die Formatierung keine Sorgen machen muss!! Natürlich IMMER Parameter.

Enjoy

Christian Arnold