node.jsでcsrf対策
node.jsでcsrf対策を行う必要がありましたが、csurfというモジュールを使うことで簡単に実装できました。
実装するにあたり、サーバサイドでのcsrf対策用トークンを何に保存するか決める必要がありますが、私はcookieで行うことにしました。セッションストレージで行うやり方もありますが、やや実装が手間そうなので・・・
私の開発したソースコードから関連する場所を抜粋しておきます。
var app = express(); var cookieParser = require('cookie-parser'); var csrf = require('csurf'); app.use(cookieParser()); app.use(csrf({cookie: true}));
あと、おまけですが、node.jsにはミドルウェアという機能があり、色々な処理をつなげていくことができます。
例えば、リクエストをルーティングする前に共通処理を入れることができます。
これによって、アクセス時にログを出力するようにしたりできます。
うーん、超便利。まだまだnode.jsは奥が深そうですね。