Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggunakan Parameter dengan Selamat dengan Pernyataan LIKE dalam SQL untuk Mencegah Serangan Suntikan?

Bagaimanakah Saya Boleh Menggunakan Parameter dengan Selamat dengan Pernyataan LIKE dalam SQL untuk Mencegah Serangan Suntikan?

DDD
Lepaskan: 2024-12-27 13:54:12
asal
255 orang telah melayarinya

How Can I Safely Use Parameters with the LIKE Statement in SQL to Prevent Injection Attacks?

Menggunakan Parameter dengan Pernyataan LIKE dalam Pertanyaan SQL dan Mencegah Suntikan SQL

Dalam pertanyaan pangkalan data, menggunakan parameter adalah amalan penting untuk mencegah SQL berniat jahat serangan suntikan. Walau bagaimanapun, apabila bekerja dengan pernyataan LIKE, pertimbangan sintaks tertentu timbul.

Soalan: Adakah mungkin untuk menggunakan parameter dalam pernyataan LIKE dan jika ya, bagaimana?

Jawapan: Ya, adalah mungkin untuk menggunakan parameter dalam pernyataan SUKA. Walau bagaimanapun, adalah penting untuk mengendalikan penggabungan rentetan dengan sewajarnya.

Sintaks untuk Pernyataan LIKE Parameter:

PILIH * DARI nama_jadual DI MANA (nama_lajur LIKE @parameter)

Menggunakan Parameter dalam VB.NET:

Dim cmd As New SqlCommand(
    "SELECT * FROM compliance_corner "_
    + " WHERE (body LIKE @query ) "_
    + " OR (title LIKE @query)")

cmd.Parameters.Add("@query", "%" + searchString + "%")
Salin selepas log masuk

Penjelasan:

  • Pernyataan LIKE membandingkan nilai kandungan atau lajur tajuk dengan parameter yang diberikan @ pertanyaan.
  • Parameter @query diisytiharkan dan nilainya dibina secara dinamik, termasuk tanda "%" sebagai kad bebas.
  • Dengan menggunakan parameter, kami boleh menghalang serangan suntikan SQL dengan memastikan rentetan yang disuntik dianggap sebagai nilai literal dan tidak dilaksanakan sebagai kod berniat jahat.

Contoh Pertanyaan:

SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE '%max%')
Salin selepas log masuk

Pertanyaan ini akan mendapatkan semula semua rekod di mana badan atau lajur tajuk mengandungi subrentetan "maks".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Parameter dengan Selamat dengan Pernyataan LIKE dalam SQL untuk Mencegah Serangan Suntikan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan