日記
Smartyのエスケープ (15:07)Edit

[PHP] Smartyとサニタイズ」で、なんかデジャブのような展開を見かけたんで、結局俺はどう対処することにしたのかを書いておく。なんか不便なことが多すぎるんで、default_modifiersを使うのはあきらめ、modifier.h.phpという以下の内容のプラグインを追加して、それでエスケープするようにしている。

function smarty_modifier_h($string)
{
return htmlspecialchars($string);
}

このプラグインを用意しておけば、{$foo|escape}を{$foo|h}と書ける。このくらいならばそんなに面倒じゃないから、書き忘れも減るんじゃなかろうか。modifier.h.phpの内容はもともとのescapeをコピーして使ってもいいけど、実用上はこれで十分。シングルクォーテーションもエスケープしたい人は、ENT_QUOTESをつけておけばいい。

Published At2005-08-31 00:00Updated At2005-08-31 00:00