Mencegah serangan suntikan SQL dalam program Java
P粉328911308
P粉328911308 2023-10-20 20:06:17
0
2
538

Saya perlu menambah kenyataan pada program java saya untuk mengemas kini jadual pangkalan data:

String insert = "INSERT INTO customer(name,address,email) VALUES('" + name + "','" + addre + "','" + email + "');";

Saya dengar ini boleh dieksploitasi melalui suntikan SQL, contohnya:

DROP TABLE customer;

Program saya mempunyai GUI Java dan semua nama, alamat dan nilai e-mel ditambah daripadaJtextfields检索。我想知道黑如何将以下代码(DROP TABLE customer;) pada penyata sisipan saya dan bagaimana saya boleh menghalang perkara ini.

P粉328911308
P粉328911308

membalas semua (2)
P粉194919082

Contohnya:

name = "'); DROP TABLE customer; --"

akan memasukkan nilai ini ke dalammasukkan:

INSERT INTO customer(name,address,email) VALUES(''); DROP TABLE customer; --"','"+addre+"','"+email+"');

Gunakan pernyataan yang disediakan dan parameter SQL (contoh "mencuri" daripada Matt Fellows):

String insert = "INSERT INTO customer(name,address,email) VALUES(?, ?, ?);"; PreparedStament ps = connection.prepareStatment(insert);

Juga menghuraikan nilai pembolehubah tersebut dan pastikan ia tidak mengandungi sebarang aksara yang tidak dibenarkan (seperti ";" dalam nama).

    P粉030479054

    Anda perlu menggunakanPreparedStatement. Contohnya

    String insert = "INSERT INTO customer(name,address,email) VALUES(?, ?, ?);"; PreparedStatement ps = connection.prepareStatement(insert); ps.setString(1, name); ps.setString(2, addre); ps.setString(3, email); ResultSet rs = ps.executeQuery();

    Ini akan menghalang serangan suntikan.

    Cara penggodam memasukkannya ialah jika rentetan yang anda masukkan datang daripada input di suatu tempat - seperti medan input pada halaman web atau medan input pada borang dalam apl atau yang serupa.

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!