2017-12-14 1 views
1

Wenn ich eine SQL-Abfrage aus einer externen Datei innerhalb meines lokalen Dateisystems lese und diese Abfrage dann mit vorbereiteten Anweisungen ausführe (alle Aufrufe werden von einem Java-Programm ausgeführt), ist diese Abfrage immer noch anfällig zur sql Injektion?Datenbank und Sicherheit

Frage: Die Abfrage, die ich aus einer externen Datei verwende, ist anfällig für SQL-Injection?

Fluss: Java-Programme liest die lokale Datei, die die Abfrage enthält, und führt die Abfrage unter Verwendung bereitet Aussagen

+0

So können die Abfragen von anderen geändert werden und dann in Ihrem Programm ausgeführt werden? –

+0

ja die Abfragen können von anderen geändert werden, wenn sie auf diese externe Datei zugreifen können –

+0

Eine vorbereitete Anweisung ist eine feste Anweisung. Benutzer können beliebige Abfragen in Ihre Dateien eingeben. Sie können also keine vorbereitete Anweisung verwenden, da sie in Ihrem Code nicht vorbereitet ist. –

Antwort

0

Prepared Statements sind ein wirksamer Schutz vor Injektionen. In diesem Fall ändert das Lesen aus einer Datei nichts. Ihre Abfragen können fest codiert oder in einer Datei verschachtelt sein.

Nichtsdestoweniger der Schutz ist wirkungslos, wenn Leute diese externe Datei ändern können.