[CodeIgniter]表示する変数をデフォルトでエスケープするようにしてみた


CodeIgniterのXSS Filterはいろんな文字が削除されたり、入力の時点でフィルタリングされるので、あまり好きではありません。

今回は他のフレームワークでよくあるような、表示する変数にデフォルトでエスケープするような処理を書いてみました。

広告

動作検証はv2.0.2で行っています。実際に利用する場合は、下記のファイルを適当な場所にコピーしてもらい、escape_helperをロードしてください。また、application/config/config.phpに下記を追加してください。

$config['display_vars_default_escape'] = TRUE;

エスケープ前のデータが欲しい場合は「r」メソッドを使ってデコードするようにしました。

MY_Loader.php

64行目付近がその処理になります。

escape_helper.php

関連記事