ラベル Express の投稿を表示しています。 すべての投稿を表示

Node.js + Express で 登録画面 を作る

よくある「登録機能」を作るときの ポイント および 具体的な実装方法 をまとめてみました。 個別な課題は調べることができますが、「登録機能を作る」という観点でまとめているので、どのようなことを気を付けなければならないかがこの記事で理解できると思います。 この記事でざっくりとしたイメージを持っていただいたうえで、個別の詳しい内容を調べるとより理解が深まると思います。 目次 概要 画面 データベース 実装 /app.js /router.js /public/scripts/shop/regist/confirm.js /pu ...

Node.js + Express で CSRF対策 を行う 方法

Node.js + Express 環境において CSRF対策 を行う方法について今回はまとめていきます。 ちなみに、本記事で CSRF対策 として利用するミドルウエアは csrf です。 他の記事で csurf を利用したものがあったので参考に実装してみたのですが… csurf は一度発行したトークンが再利用できた点がセキュリティ的に怪しい動作なので、使うのを止めました。。 目次 CSRFとは csrf ミドルウェア の 使い方 csrf ミドルウェア を使った 実装例 CSRFとは 詳しい内容は別記事がかけそうなくらいなので、ここでは概要だけおさらいします。 CSRF (cross-site request forgeries) は 掲示板や問い合わせフォームなどを処理するW ...

Node.js + Express で 検索画面 を作る

Node.js + Express + MongoDB を使った「検索」機能のサンプルを作ってみます。 今回はサンプルとして「店舗検索」を行うような機能を実装してみます。 目次 概要 画面 データベース 実装 /app.js /search/index.ejs /search/result-list.ejs /search/result-item.ejs テスト 概要 店舗検索として、検索条件入力で入力した条件にマッチする店舗一覧が表示されるような機能を作ります。 検 ...

Node.js + Express の URLルーティング

Node.js + Express において URLルーティング 、特に名前付きパラメーターをどのように指定するかまとめました。 目次 基本 応用 名前付き パラメーター カスタムマッチ パラメーター 名前なし パラメーター 基本 基本のルーティング指定方法は以下の通りです。 構文 app.METHOD(PATH, CALLBACK); METHOD HTTPリクエストメソッドを小文字で指定します。例:get, post, put, delete PATH URLルーティングを指定します。 CALLBACKURLルーティングが一致したときに実行する処理を ...

Node.js + Express で HTTP から HTTPS へ 自動リダイレクト させる方法

Node.js + Exprss で HTTPSサーバー 構築した際、http でアクセスしてきた通信を https 強制リダイレクトさせる方法を考えました。 といっても難しいことはせずできるだけ単純な実装にしています。 自動リダイレクト の サンプルコード var express = require("express"); var fs = require("fs"); var http = require("http"); var https = require("https"); var app = express(); var options = { pfx: fs.readFileSync("./private/localhost.pfx"), passphrase: "Passw0rd" }; app.get("/", function ...

Node.js + Express で HTTPS サーバー を 作る

Node.js + Express の環境で HTTPS 通信できるようにする方法を整理しました。 あまり複雑な要素は含めずできるだけシンプルなサンプルコードを掲載します。 目次 HTTPS サーバー 構築 HTTP と HTTPS を共存させた サーバー構築 [おまけ] 自己署名証明書の作成 HTTPS サーバー 構築 Windows の IIS で自己署名入り証明書 をエクスポートすると PKCS#12 の証明書 (拡張子 pfx のファイル) になっているので、 今回は pfx を指定してHTTPSサーバーを構築してみます。 IIS で 自己署名入り証明書 を作成、エクスポートする方法は以下の「自己署名証明書の作成」を参照してください。 var express = req ...

Node.js + Express で ASP.NET ライクな ルーティング を行う ミドルウェア

Node.js + Express で Webアプリケーション開発 を行うとき困ったのがルーティング。 そこで ASP.NET MVC のような実装ができる Express 向け ミドルウェア "express-junction" を作成しました。 目次 概要 インストール 使い方 ディレクトリ、ファイル /app.js /controllers/home.js /views/home/index.ejs リンク GitHub: garafu/express-junction npm: express-junctio ...

Node.js + Express で WebAPI を作る

Node.js + Express で WebAPI を作成してみます。 最近だと モバイルアプリ や SPA (Single Page Appliction) などで利用されるような機能を実装するイメージです。 あまり難しいことはせず、単純な GET と POST の例でまとめました。 目次 概要 実装 テスト 概要 画面を返さず JSON を返却する WebAPI を作成してみます。 今回は 単純な GET と POST を行うサンプルです。 具体的なパスは以下のようなものを作る予定です。 GET: /api/user/:id POST: /api/user 上記の POST URLにリクエストしたときの動きのイメージは以下のようなものです。 実装 今 ...

Node.js + Express + passport で 認証認可 の 仕組み を 作る

Node.js + Express + Passport + MongoDB を利用したユーザー認証 および アクセス制御 の実装を行ってみます。 今回は3画面作成するので、少し前置き(全体像)から入っていきます。 目次 概要 フロー 画面一覧 画面遷移 機能一覧 プロジェクト準備 フォルダ構成 初期化 パッケージ追加 データベース作成 スキーマ データ作成 Webアプリケー ...

Node.js + Express で エラーページ を カスタマイズ する 方法

Node.js + Express (ejsテンプレート) の環境において 404エラーページ と 500エラーページ を カスタムエラーページ にする方法をまとめます。 大きくは「エラー処理の実装」と「エラーページの実装」の2点を行います。 以下ではそれぞれについて詳しく見ていきます。 目次 概要 エラー処理 の 実装 エラーページ の 実装 概要 すべてのファイルを列挙しているわけではありませんが、前提となる主要なフォルダおよびファイルについて列挙します。 想定は以下のような環境です。 プロジェクト構成 PROJECT_ROOT ├ node_modules │ └ … ├ public │ └ … ├ routes │ └ home.js ├ views │ ├ home │ │ └ index.js │ ├ 404.ejs ...

Node.js + Express における log4js の 使い方

タイトルには「log4js」と記載していますが、実際は「log4js-node」の使い方です。 npm で log4js として登録されているのは、 GitHub の log4js-node なので、ここでも 「log4js-node」 を 「log4js」 として取り上げます。 インストール から 大まかな使い方 までが理解できる程度にまとめてみました。 目次 インストール方法 log4js の 基本的 な 使い方 log4js の 設定ファイル の 使い方 Node.js + Express 環境 での 使い方 Appender の 種類 Layout の 設定方法 インストール方法 まずは プロジェクト へ log4js をインストール ...