Bagaimana untuk Melewati Parameter dengan Selamat kepada Penyata Disediakan JDBC?

Patricia Arquette
Lepaskan: 2024-11-25 00:31:10
asal
529 orang telah melayarinya

How to Safely Pass Parameters to a JDBC PreparedStatement?

Melalukan Parameter ke JDBC PreparedStatement

Mencipta kelas pengesahan untuk program Java selalunya melibatkan pertanyaan pangkalan data. Kod berikut cuba memilih baris tertentu daripada jadual menggunakan PreparedStatement dengan parameter:

public class Validation {

    // ...

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

    // ...
}
Salin selepas log masuk

Walau bagaimanapun, kod ini mungkin tidak berfungsi kerana pernyataan SQL tidak diformat dengan betul.

Penyelesaian:

Untuk menghantar parameter dengan betul kepada PreparedStatement, gunakan kaedah setString():

statement = con.prepareStatement("SELECT * from employee WHERE  userID = ?");
statement.setString(1, userID);
Salin selepas log masuk

Kaedah ini menetapkan nilai parameter pertama (?) kepada ID pengguna yang ditentukan. Ia memastikan bahawa pernyataan diformat dengan betul dan menghalang suntikan SQL, kelemahan keselamatan yang berlaku apabila kod SQL berniat jahat disuntik ke dalam pertanyaan.

Untuk mendapatkan maklumat lanjut tentang menggunakan PreparedStatements, rujuk Tutorial Java.

Atas ialah kandungan terperinci Bagaimana untuk Melewati Parameter dengan Selamat kepada Penyata Disediakan JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan