メモ : Smarty のセキュリティ
2007年1月9日(火曜日)
メモ : Smarty のセキュリティ
最近、PHP のウェブアプリケーションに Smarty が使われているケースをよく見かけますが、Smarty には {php}タグ (smarty.php.net)というのがあって、任意の PHP コマンドが実行できたりするようです。ですから、ユーザが任意の Smarty テンプレートを記述できるような設計になっていると、任意コマンドの実行を許してしまうおそれがあります。
※そんなことをする人はいない、と言いたいところではありますが……。
ちなみに Smarty には $security (smarty.php.net) という設定があって、これを true にしておくとコマンドの実行はできなくなったりするようです。もっとも、$security を有効にしたとしても、{$txt|escape} であるべきところを {$txt} と書いてしまうと XSS が発生したりしますので、「こう使えば安全」ということでもありません。
- 「メモ : Smarty のセキュリティ」にコメントを書く
- 前(古い): とあるパスワードリマインダ
- 次(新しい): セキュリティ修正の履歴が公表されていないケース