守破離でいこう! -Let's go with SyuHaRi!-

2007/03/24

logに残されるパスワードをフィルタリングする

Railsアプリを作成していて、動作の確認等で非常に重要なログファイルですが、このログには様々な情報が残されます。
例えばユーザ登録画面等で送信したパラメータもログに残されます。
ユーザ登録の際は、パスワードを入力したりしますので、パスワードがそのまま平文で残されるのはちょいとまずいものです。

Processing UserController#signup (for 192.168.0.25 at 2007-03-24 10:41:08) [POST]
  Session ID: 42d8820cd16b8a672b86f737d8d6b4e8
  Parameters: {"user"=>{"password_confirmation"=>"testpassword", "lastname"=>"Tarou", "firstname"=>"Test", "login"=>"tester", "password"=>"testpassword", "email"=>"test@test.com"}, "commit"=>"Signup", "action"=>"signup", "controller"=>"admin/user"}

そこで、以下のようにするとログに残されるパスワードをフィルタリングすることができます。
filter_parameter_logging(*filter_words) {|key, value| ...}

class ApplicationController < ActionController::Base
  filter_parameter_logging "password"
end

すばらしい!

Processing UserController#signup (for 192.168.0.25 at 2007-03-24 10:43:50) [POST]
  Session ID: 42d8820cd16b8a672b86f737d8d6b4e8
  Parameters: {"user"=>{"password_confirmation"=>"[FILTERED]", "firstname"=>"Test", "lastname"=>"Tarou", "password"=>"[FILTERED]", "login"=>"tester2", "email"=>"test2@test.com"}, "commit"=>"Signup", "action"=>"signup", "controller"=>"admin/user"}
Filtering Sensitive Logs

ラベル:

automatically translated by Google Translate Hack!

naoki 10:18
HaloScan: |

0 Comments:

Add a comment