ホームページ >データベース >mysql チュートリアル >NodeJS で MySQL クエリの JavaScript 文字列を安全にエスケープする方法

NodeJS で MySQL クエリの JavaScript 文字列を安全にエスケープする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-31 18:19:101009ブラウズ

How to Safely Escape JavaScript Strings for MySQL Queries in NodeJS?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。