Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melarikan diri daripada String JavaScript dengan Selamat untuk Pertanyaan MySQL?

Bagaimana untuk Melarikan diri daripada String JavaScript dengan Selamat untuk Pertanyaan MySQL?

DDD
Lepaskan: 2025-01-02 18:50:38
asal
483 orang telah melayarinya

How to Safely Escape JavaScript Strings for MySQL Queries?

Menjadikan String JavaScript Mesra MySQL

Apabila cuba menghantar rentetan JavaScript yang mengandungi alamat e-mel kepada pelayan NodeJS untuk pelaksanaan pertanyaan dalam Pangkalan data MySQL, pengguna mungkin menghadapi masalah. Walaupun teks biasa, seperti nama pengguna, dikendalikan tanpa komplikasi, alamat e-mel menghadapi kesukaran kerana aksara khas yang mungkin memerlukan pelarian untuk keserasian SQL.

Untuk menangani isu ini, alternatif kepada fungsi melarikan diri dicari, selari kefungsian mysql_real_escape_string() PHP. Fungsi ini melindungi daripada suntikan SQL dengan melepaskan aksara tertentu.

Pelaksanaan JavaScript mysql_real_escape_string() adalah sangat mudah, seperti yang diperhatikan dalam dokumentasi yang disediakan. Berikut ialah pelaksanaannya:

function mysql_real_escape_string(str) {
    return str.replace(/[\x08\x09\x1a\n\r"'\\%]/g, function (char) {
        switch (char) {
            case "":
                return "\0";
            case "\x08":
                return "\b";
            case "\x09":
                return "\t";
            case "\x1a":
                return "\z";
            case "\n":
                return "\n";
            case "\r":
                return "\r";
            case "\"":
            case "'":
            case "\":
            case "%":
                return "\" + char; // prepends a backslash to backslash, percent,
                                   // and double/single quotes
            default:
                return char;
        }
    });
}
Salin selepas log masuk

Perhatikan bahawa pelaksanaan ini melangkaui PHP asal dengan melepaskan aksara tambahan, seperti tab, ruang belakang dan '%', menjadikannya sesuai untuk pertanyaan LIKE juga.

Walaupun mysql_real_escape_string() adalah set-set-aware dalam PHP rakan sejawatannya, faedah ciri ini dalam pelaksanaan JavaScript adalah tidak jelas.

Perbincangan lanjut mengenai topik ini boleh didapati di pautan yang disediakan untuk rujukan.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan diri daripada String JavaScript dengan Selamat untuk Pertanyaan MySQL?. 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