Sind Prädikatvorlagen dasselbe wie vorbereitete Anweisungen?
-
20-09-2019 - |
Frage
Wenn ich beispielsweise diese Prädikatformatzeichenfolge hätte, hätte das die gleichen Sicherheitsvorteile wie vorbereitete Anweisungen in SQL?
@"name == $LAST_NAME"
Ich bin mir nicht sicher, ob dies eine schlichte dumme Substitution ist, die immer noch eine fehlerhafte „SQL“-Injektion in Kerndaten ermöglicht, oder ob dies genauso gut ist wie vorbereitete Anweisungen, die man aus modernen Datenbanktechnologien kennt?
Lösung
Sie laufen nicht auf einem Server und jeder Benutzer erhält ohnehin vollständigen Zugriff auf die SQLite-Datei, sodass dort keine Sicherheit besteht, die untergraben werden könnte.
Darüber hinaus handelt es sich hierbei um ein Prädikat und nicht um eine gespeicherte SQL-Anweisung.Wenn Ihre Anwendung das Prädikat ausführt, Kerndatei führt die Übersetzung in SQL durch und speichert diese Übersetzung nicht.
Kurz gesagt, hier gibt es nichts zu befürchten.