„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergeben Sie die Parameter sicher an eine JDBC -Vorbereitung?

Wie übergeben Sie die Parameter sicher an eine JDBC -Vorbereitung?

Veröffentlicht am 2025-02-05
Durchsuche:488

How to Safely Pass Parameters to a JDBC PreparedStatement?

übertragen Parameter an einen JDBC PreparedStatement

Erstellen einer Validierungsklasse für ein Java -Programm beinhalten häufig die Abfrage einer Datenbank. Der folgende Code versucht, eine bestimmte Zeile aus einer Tabelle mit einem vorbereiteten Anschluss mit einem Parameter auszuwählen:

public class Validation {

    // ...

    public Validation(String userID) {
        try {
            // ...
            statement = con.prepareStatement(
                    "SELECT * from employee WHERE  userID = "   "''"   userID);
            // ...
        } catch (Exception ex) {
            // ...
        }
    }

    // ...
}

Dieser Code funktioniert jedoch möglicherweise nicht, da die SQL -Anweisung nicht korrekt formatiert ist. PrepedStatement, Verwenden Sie die SetString () -Methode:

Anweisung = con.preparestatement ("SELECT * From Mitarbeiter, wo userID =?"); Anweisung.SetString (1, userId); Diese Methode legt den Wert des ersten Parameters (?) auf die angegebene Benutzer -ID fest. Es stellt sicher, dass die Aussage ordnungsgemäß formatiert ist und die SQL -Injektion verhindert, eine Sicherheitsanfälligkeit, die auftritt, wenn böswilliger SQL -Code in eine Abfrage injiziert wird.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3