$security
$securityの設定は、デフォルトでは"false"です。
これはテンプレート言語によってシステムのセキュリティが脆弱になる危険性を減らしたい場合や、(例えばftpによって)テンプレートを編集するグループにあまり信用がおけないという時に最適です。
セキュリティを有効にすると、$security_settingsによってオーバーライドされない限りは次の規則をテンプレート言語へ実施します。
これはテンプレート言語によってシステムのセキュリティが脆弱になる危険性を減らしたい場合や、(例えばftpによって)テンプレートを編集するグループにあまり信用がおけないという時に最適です。
セキュリティを有効にすると、$security_settingsによってオーバーライドされない限りは次の規則をテンプレート言語へ実施します。
- $php_handlingがSMARTY_PHP_ALLOWに設定されているならSMARTY_PHP_PASSTHRUに変更されます。
- $security_settingsで指定されたphp関数以外はifステートメントで使用する事ができません。
- テンプレートは$secure_dirによって許可されているディレクトリからのみインクルードできます。
- {fetch}を使ってローカルファイルを取得する場合は$secure_dirにリストされたディレクトリからのみ取得できます。
- {php}{/php}タグは使用できません。
- $security_settingsで指定されたphp関数以外は、変数の修正子として使用する事ができません。