首頁 > 資料庫 > mysql教程 > 如何在 Node.js 中使用 JavaScript 字串安全地查詢 MySQL?

如何在 Node.js 中使用 JavaScript 字串安全地查詢 MySQL?

Patricia Arquette
發布: 2025-01-03 19:13:42
原創
930 人瀏覽過

How Can I Safely Query MySQL with JavaScript Strings in Node.js?

NodeJS 使用JavaScript 字串查詢MySQL

當嘗試將包含電子郵件位址的JavaScript 字串傳遞到NodeJS 查詢伺服器進行MySQL 資料庫時,開發人員可能會遇到由於特殊字元的存在而造成的困難。為了確保正確處理這些字串,調整它們以實現 SQL 相容性至關重要。

在 PHP 中,函數 mysql_real_escape_string() 提供了一種解決方案,即在特定字元(例如 x00、n、r、)之前添加反斜線。 '、" 和x1a。這可以防止這些字元在SQL 查詢中引起問題。

對於NodeJS,可以實現類似的功能:如下:

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;
        }
    });
}
登入後複製

此函數用轉義版本取代特殊字符,確保與SQL 查詢的兼容性。 .

有關 SQL 字串轉義的更多信息,請參閱以下討論: [OWASP](https://owasp.org/www-community/vulnerability/Unrestricted_File_Upload)。

以上是如何在 Node.js 中使用 JavaScript 字串安全地查詢 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板