批評Node.jsでMySQLにINSERTする[サニタイズ]2019年1月9日JavaScriptNode.jsアプリケーションにおいてMySQLにデータを入力(INSERT)してみます。本記事ではexpress-generatorを利用しています。下記関連ページを参照してexpress-generatorモジュールをインストールしておいて下さい。関連ページexpress-generatorを利用する今回は下記のような簡単なアプリケーションを作成しています。フォーム画面(localhost:3000/add)にtarouと入力してPOSTボタンをクリックすると、トップページ(localhost:3000/)に戻りデータベースに値が入力されていることを確認できます。バリデーションの処理などもおこなっています。MySQLとの接続、MySQLのテーブル構造などは下記のページを参照下さい。mysqlを利用する[express][node.js]まず雛形として「myproject」という名前のプロジェクトを作成します。テンプレートエンジンとしてEJSを利用するので、オプションに「-e」を設定しています。myproject依存するモジュールをインストールしておきます。installmysqlおよびexpress-validatorモジュールをインストールします。express-validatorpackage.jsonのdependenciesの項目を確認すると下記のようになっています。"^2.16.0"}add.ejsのファイルのみを新規作成しています(users.jsなどは雛形で既に生成されているファイルです)。router;38行目.not().isEmpty()で未入力をチェックするバリデーションをおこない、.trim().escape()で前後の空白スペース削除およびエスケープ処理といったサニタイズをおこなっています。express-validatorモジュールについては下記のページを参照下さい。入力すると、MySQLにはサニタイズされた下記のようなデータが保存されます。