Mit zitieren Trennzeichen in der SQL SELECT-Anweisung für die Flucht in einfache Anführungszeichen

Ich will zu entkommen, single quote, wenn der Benutzer eine Eingabe von text wie "Sam' s Projekt, deliverable" in einer form Eintritt, entwickelt in C# (.NET). Datenbank ist ORACLE 10g.

Stieß ich auf Zitieren Trennzeichen feature von ORACLE 10g http://www.orafaq.com/wiki/SQL_FAQ#How_does_one_escape_special_characters_when_writing_SQL_queries.3F aber ich bin nicht sicher, ob mit so einem Zitat Trennzeichen q'[ text mit einfachen Anführungszeichen]' als Teil einer SELECT-Anweisung würde verhindern, dass SQL-Injection-Angriffe?

Beispiel für die Verwendung der quote-Trennzeichen q'[ text mit einfachen Anführungszeichen ]':

SQL> SELECT q'[Frank's Oracle site]' AS text FROM DUAL;
 TEXT
 -------------------
 Frank's Oracle site

 SQL> SELECT q'[A 'quoted' word.]' AS text FROM DUAL;
 TEXT
 ----------------
 A 'quoted' word.

 SQL> SELECT q'[A ''double quoted'' word.]' AS text FROM DUAL;
 TEXT
 -------------------------
 A ''double quoted'' word.
  • und dein problem ist...?
  • stackoverflow.com/questions/5468425/... Ihnen zu helfen.
  • Sorry Marc, gab es einige Fehler bei der Veröffentlichung der Frage. Jetzt ist mein Beitrag sollte erklären, mein problem/Frage
  • Es wird nicht verhindern, dass die Injektion. Es wird wahrscheinlich verlangsamen halbherzige versuche, weil die Angreifer davon aus, dass die Trennzeichen am Ende ist ' und bekommen nirgends. Aber ein Profi wird nicht aufhören, es und mit brute-force-Sie können brechen das Zitat wörtliche leicht genug.
  • Nein, dies wird nicht verhindern, dass-injection-Angriffe. Die EINZIGE Sache, die verhindern, dass-injection-Angriffe ist NIE gebaut werden dynamische SQL-Anweisungen mit der vom Benutzer eingegebenen Daten direkt in die SQL-text; D. H. Sie haben IMMER Zugriff auf die vom Benutzer eingegebenen Daten durch Parameter Marker. ALL-WEISE!!!
  • Beispiele bitte?
  • Hier ist ein Beispiel für sql-injection mit -- statt '
  • Danke!!

InformationsquelleAutor sunskin | 2013-04-23
Schreibe einen Kommentar