escaping_methodのESC_ENTITIESには注意が必要

初投稿のhnwです。よろしくお願いします。

symfonyでescaping_methodをESC_ENTITIESにすると問題がありますよ、という指摘です。

symfonyには標準でHTMLの出力エスケープ機構が組み込まれています。これは、テンプレートに渡された値に関して、スカラ、配列、オブジェクトのメソッド呼び出し結果など、全ての値が勝手にescapeされるようになっています。

このescapingに関する設定として、settings.ymlでescaping_strategy(デフォルト値はbc)をbothに変更するのはsymfonyの定石です。しかし、escaping_methodはsymfony 1.0のデフォルト値のESC_ENTITIESのまま、という人は多いのではないでしょうか。

escaping_methodをESC_ENTITIESに設定した場合、escapeにhtmlentities関数が使われます。実はこの関数に問題があります。

この投稿の続きを読む »escaping_methodのESC_ENTITIESには注意が必要