cfincludeタグでインクルードするファイルを拡張子で制限する際の注意

ColdFusion 11のベータ版(コードネーム ColdFusion Splendor)では、<cfinclude>タグでインクルードするファイル(temple="xxxxx")に拡張子による制限が追加されていました。この制限は、ColdFusion 11の製品版では解除され、かわりに ColdFusion Administratorの[サーバーの設定]-[設定]に、『CFInclude タグで許可されるファイル拡張子』という設定項目が追加されました。デフォルトはアスタリスク(*)、つまり、すべての拡張しをインクルード許可するという設定となります。

 

注意が必要なのは、下記の2点です

  1. ColdFusion 11のオンラインマニュアル
    • オンラインマニュアルには、ベータ版の時の古い情報がそのまま書かれています。また、『CFInclude タグで許可されるファイル拡張子』という設定項目に関する説明も現時点では書かれていません。
      https://wikidocs.adobe.com/wiki/display/coldfusionjp/New+in+ColdFusion+11
      上記ページ中の「また、<cfinclude> タグについても、この制限事項が適用されます。デフォルトでは~」の箇所は古い情報です。
  2. 許可される拡張子を指定した時、それ以外の拡張子のファイルをインクルードした時の挙動
    • ベータ版の時点では、許可された拡張子以外のファイルをインクルードしようとすると、エラーが発生して処理が中断しました。製品版では、拡張子を制限している状態で許可されていない拡張子のファイルをインクルードしてもエラーは発生しません。ただし、ファイル中にColdFusionのコードが含まれていても、そのコードは処理されません。
      • ​例えば<cfset p1="テスト">というプログラムを含むファイルをインクルードする際、許可されている拡張子であればColdFusionで処理が行われます(つまりローカル変数p1がセットされる)が、許可されていない拡張子の場合は、そのまま<cfset p1="テスト">が文字列としてインクルードされてしまいます。

 

上記の情報、および、動作は、今後の製品やマニュアルのアップデートで修正される場合がありますので、現時点の情報としてご認識下さい。動作の変更が確認された場合は、このページにてお知らせします。


 


記事公開日:2014年02月21日
最終更新日:2014年05月02日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.