Ich habe Hibernate verwendet, um mit meiner Datenbank zu interagieren, jetzt wollte ich meine Datenbank-Schicht gegen SQL-Injection sichern, also habe ich einige Nachforschungen und ich fand heraus, dass meine Abfragen parametrisiert werden sollten es bedeuten, wenn ich meine HQL-Abfragen strukturieren wie:Vorbeugung gegen SQL-Injektion in Hibernate
List mothers = session.createQuery(
"select mother from Cat as cat join cat.mother as mother where cat.name = ?")
.setString(0, name)
.list();
Dann ist es parametrisiert und von SQL-Injection geschützt, oder gibt es etwas anderes, was ich tun muss ...
Eine andere Sache erwähnt wurde - "Immer entkommen Sie Ihre Daten "Wie kann das erreicht werden?
Ich schaute in den Link, den Sie vorgeschlagen .. Leute schlagen Lösungen für HTML-Entweichen vor .. Gibt es irgendeine andere Art von Flucht erforderlich ?? –
-1. Es ist kein guter Ansatz, die Eingabedaten zu umgehen, um XSS zu verhindern. Der bessere Weg besteht darin, die nicht vertrauenswürdigen Daten zu maskieren, wenn Sie sie in einen gefährlichen Kontext (z. B. eine HTML-Seite) einfügen, wobei Sie die Regeln dieses Kontexts berücksichtigen. Siehe auch [OWASP XSS Prevention Cheat Sheet] (http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet). Auch ging es um SQL-Injection, nicht um XSS. – axtavt
@axtavt Wenn Sie meine Antwort und Kommentar im Code lesen, werden Sie sehen, dass die Daten beim Einfügen in die Tabelle Mutter entgangen sein müssen. –