ホームページ >データベース >mysql チュートリアル >NodeJS で MySQL クエリの JavaScript 文字列を安全にエスケープする方法
NodeJS での MySQL クエリ用の JavaScript 文字列の調整
JavaScript から NodeJS に渡され、その後 MySQL に渡されるデータの整合性を保護することが重要です。標準テキストはシームレスに統合できますが、電子メール アドレスを SQL 対応にレンダリングするには特殊なアプローチが必要です。
MySQL の mysql_real_escape_string() 関数は、SQL インジェクションの脆弱性を防ぐように設計されており、JavaScript 文字列を準備するための貴重なフレームワークを提供します。この機能により、バックスラッシュを先頭に追加することで特殊文字 ( 、x08、x09、x1a、n、r、'、"、 、%) を安全に挿入できます。
JavaScript でこの動作を再現するには、カスタムfunction:
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; } }); }
この関数を適用すると、JavaScript 文字列内の特殊文字を効果的にエスケープしてから、JavaScript 文字列に渡すことができます。 SQL 挿入用の NodeJS により、潜在的な SQL インジェクション攻撃から保護します。さらに、タブ、バックスペース、および "%" のエスケープのサポートが拡張され、OWASP のセキュリティ ガイドラインに沿って LIKE クエリの堅牢性が強化されます。
以上がNodeJS で MySQL クエリの JavaScript 文字列を安全にエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。