Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Petikan Tunggal dengan Selamat ke dalam Rentetan PostgreSQL?
Panduan ini memperincikan kaedah selamat untuk memasukkan teks yang mengandungi petikan tunggal ke dalam rentetan PostgreSQL, meminimumkan risiko kelemahan suntikan SQL.
Untuk teks ringkas, sertakan petikan tunggal dalam petikan berganda ('user''s log'
) atau lepaskan petikan itu menggunakan garis serong ke belakang (E'user\'s log'
).
Untuk teks kompleks yang memerlukan berbilang tahap pelarian, rentetan petikan dolar menawarkan penyelesaian yang lebih bersih:
$$escape ' with ''$$
$token$escape ' with ''$token$
(Ganti token
dengan pengecam unik)PostgreSQL menyediakan fungsi khusus untuk pengendalian rentetan selamat:
quote_literal()
: Fungsi ini secara automatik melepaskan petikan tunggal, memastikan pemasukan selamat.format()
: Gunakan penentu format %L
untuk memetik rentetan (format('%L', string_var)
) dengan betul.Elakkan daripada menggunakan concat()
atau concat_ws()
untuk mengendalikan petikan tunggal, kerana fungsi ini tidak menyediakan pelarian yang mencukupi.
Ingat bahawa walaupun dengan teknik petikan ini, menggunakan pernyataan yang disediakan atau pertanyaan berparameter tetap penting untuk mencegah serangan suntikan SQL. Kaedah-kaedah ini merupakan pertahanan yang paling teguh terhadap kelemahan tersebut.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Petikan Tunggal dengan Selamat ke dalam Rentetan PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!