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中文網其他相關文章!