Einfache Anführungszeichen in einer SQL-Zeichenfolge
Ich habe eine Anwendung, wo die Werte in dem Textfeld werden die an die Datenbank gesendet.
Zum Beispiel habe ich ein Formular mit einem Feld (text-Feld). Wenn ich den Ok-Knopf drücken, dann wird der Inhalt des Textfeldes eingefügt wird als Datensatz in einer Tabelle. Ich bin einfach zuschneiden und extrahieren die text-box mit dem text in variable und übergeben es an meinen SQL-string.
Das problem ist, dass, wenn etwas wie "Es" oder "Freundes", der Apostroph ist identifiziert als das Ende der Zeichenfolge. In Delphi habe ich gesehen so etwas wie QuotedString
zur Vermeidung dieser. Irgendwelche Ideen von Euch?
Kommentar zu dem Problem
verwenden Sie Parameter-Abfragen?
Sie können zwar sicher nur zitieren, Streicher, sollten Sie die Verwendung von parametrisierten Abfragen, wie Mitch schon sagt.
@Frank: ich vermute, er wird sich die Antwort auf seine Frage, anstatt das eigentliche problem. SQL-Injection-hier kommen wir!!!!
@Frank : ja. es dauert nur ein oder zwei rutschen durch und es ist "helloo little bobby tables!"
Mitch: Wenn Sie sprechen über die Flucht
%
in LIKE
- Muster, das hat nichts mit SQL-injection und muss manuell gemacht werden, auch mit parametrisierten Abfragen. InformationsquelleAutor der Frage JCTLK | 2011-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht immer bauen SQL-Anweisungen so, es ist sehr unsicher (hier Lesen). Die Parameter verwenden, ich.e:
InformationsquelleAutor der Antwort Rob
Verwenden
.Replace("'","''''")
Beispielsweise
Nun
name
übergeben werden können, als parameter in der gespeicherten Prozedur etc.InformationsquelleAutor der Antwort Muzammil Tamboli
Hoffe, dies wird Ihnen helfen, ...
InformationsquelleAutor der Antwort Buddhi Dananjaya