$security (Smarty クラス変数) - PHPプロ!マニュアル

Smartyマニュアル

Smarty クラス変数 - $security

$security

$securityTRUE または FALSE となり、 デフォルトは FALSE です。これは、 テンプレート言語によってシステムのセキュリティが脆弱になる危険性を減らしたい場合や、 (例えばFTPによって) テンプレートを編集するグループにあまり信用がおけない時に最適です。 セキュリティを有効にすると、 $security_settings によってオーバーライドされない限りは次の規則をテンプレート言語へ適用します。

  • If $php_handlingSMARTY_PHP_ALLOW に設定されていれば、 それを暗黙のうちに SMARTY_PHP_PASSTHRU に変更します。

  • PHP 関数を {if} ステートメント内で使用することができません。ただし $security_settings で指定されているものは除きます。

  • テンプレートは、 $secure_dir 配列に格納されているディレクトリからのみ取得できます。

  • ローカルファイルは、 $secure_dir 配列に格納されているディレクトリから {fetch} を使用することによってのみ取得できます。

  • {php}{/php} タグは使用できません。

  • PHP 関数を修飾子として使用することはできません。ただし $security_settings で指定されているものは除きます。



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)