Heim >Datenbank >MySQL-Tutorial >Wie entkomme ich JavaScript-Strings für MySQL-Abfragen in NodeJS sicher?
Anpassen von JavaScript-Strings für MySQL-Abfragen in NodeJS
Der Schutz der Integrität der Daten, die von JavaScript an NodeJS und anschließend an MySQL übergeben werden, ist von entscheidender Bedeutung. Während sich Standardtext nahtlos integrieren lässt, erfordern E-Mail-Adressen einen speziellen Ansatz, um SQL-freundlich zu werden.
MySQLs mysql_real_escape_string()-Funktion, die zum Schutz vor SQL-Injection-Schwachstellen entwickelt wurde, bietet ein wertvolles Framework für die Vorbereitung von JavaScript-Strings. Diese Funktionalität gewährleistet das sichere Einfügen von Sonderzeichen ( , x08, x09, x1a, n, r, ', ", , %), indem Backslashes vorangestellt werden.
Um dieses Verhalten in JavaScript zu reproduzieren, können Sie eine benutzerdefinierte Funktion verwenden Funktion:
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; default: return char; } }); }
Durch die Anwendung dieser Funktion können Sie Sonderzeichen in JavaScript-Strings effektiv maskieren, bevor Sie sie zur SQL-Einfügung an NodeJS übergeben. Schutz vor potenziellen SQL-Injection-Angriffen. Darüber hinaus erhöht die erweiterte Unterstützung für Escape-Tabs, Backspaces und „%“ die Robustheit von LIKE-Abfragen und entspricht den Sicherheitsrichtlinien von OWASP.
Das obige ist der detaillierte Inhalt vonWie entkomme ich JavaScript-Strings für MySQL-Abfragen in NodeJS sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!