CFCのビューワー機能を使い IIS/ApacheのWebルート内のcfcをブラウズする方法

CFCのビューワー機能として、「ブラウザでのコンポーネントページのリクエスト(対象の.cfcファイルをブラウザでリクエストするとcfcexplorer.cfcが呼び出されてドキュメントが表示)」や、「ColdFusion コンポーネントブラウザの使用」を使用して、cfcの情報を確認することができます。

<cfcomponent hint="ここにCFCのヒントを表示します"
             displayname="このコンポーネントの説明がここに表示されます">

   <cffunction name="echoName" returnType="name" access="remote">
         <cfargument name="input" type="name">
         <cfreturn #arguments.input#>
   </cffunction>

   <cffunction name="echoAddress" returnType="address" access="remote">
         <cfargument name="input" type="address">
         <cfreturn #arguments.input#>
   </cffunction>
   
</cfcomponent>

「ブラウザでのコンポーネントページのリクエスト」の表示例

「ColdFusion コンポーネントブラウザの使用」の表示例

(参考)
ColdFusion 10 アプリケーションの開発(PDF)
https://help.adobe.com/ja_JP/ColdFusion/10.0/Developing/coldfusion_10_dev.pdf
(P.200 イントロスペクションによるコンポーネント情報の取得)

これらCFCのビューワー機能は、ColdFusion 2016以降のセキュリティ強化により、ColdFusion Administratorへのアクセスと同様に、IISやApacheを経由したリクエストが行えないように制限されました。そのため、ColdFusionに同梱されている内部Webサーバー(デフォルトポート:8500)を利用してアクセスを行って頂う必要があります。

CFCファイルが内部Webサーバー内に配置されている場合は、上記の機能はそのまま使用できますが、IIS/ApacheのWebルート内にCFCが配置されている場合、これらビューワー機能を利用してもIIS/ApacheのWebルート内のCFCは検索できないため、見つけることができません。

IIS/ApacheのWebルート内に置かれているCFCファイルに対して、これらビューワー機能を利用するためには、ColdFusion Administratorのマッピング( [サーバーの設定] > 「マッピング」)を登録します。

【参考手順】

  1. ColdFusion Administratorに [サーバーの設定] >「マッピング」ページを開きます
  2. 『ColdFusion マッピングの追加 / 編集』の入力欄に下記を指定します
    • 論理パス: / から始まる任意のパス名( 例: /cfcpath )
    • ディレクトリパス: 対象のCFCファイルが置かれているディレクトリ、またはその上位のディレクトリ

      パッケージ名(Webルートからのパス)を実際に呼び出す際のパスと合わせるには、IIS/Apache内のCFCが置かれているフォルダの(webルート直下にある)最上位のフォルダに対して、フォルダ名と同じ[論理パス]名を指定します。ColdFusionのマッピングは、IIS/ApacheのWebルート(/)に対してColdFusionの[論理パス]を(/)では指定できない(必ず任意の[論理パス]名を指定する必要があります)ため、Webルート直下にあるフォルダに対するColdFusionマッピングを指定する必要があります(ただし、パッケージ名を合わせる必要がなければcfcが置かれているフォルダに対してColdFusionマッピングを指定しても良いですし、任意の論理パスの名前でWebルートを指定することもできます)。

  3. [マッピングの追加]ボタンを押し、上記2.の指定した内容が「アクティブな ColdFusion マッピング」の一覧に追加されることを確認します
  4. ブラウザを開き、内部Webサーバー経由で 「ブラウザでのコンポーネントページのリクエスト」または、「ColdFusion コンポーネントブラウザの使用」を開きます

    上記2.でパッケージ名と同じ表示がされるようにColdFusionマッピングの[論理パス]を指定した場合は、IIS/ApacheのWebルート内に置かれているCFCファイルをブラウザで直接リクエストします。空白の画面(または404エラー)が表示されますが、その後にURLアドレスに内部Webサーバーのポートを付けてリクエストします
    例)
    http://localhost/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=sup.ws.test2&path=/sup/ws/test2.cfc
      ↓
    http://localhost:8500/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=sup.ws.test2&path=/sup/ws/test2.cfc

  5. 上記2.で指定したColdFusionマッピングの論理パスを経由して、対象のCFCが確認できることを確認します

    ※CFCのビューワー機能は、不特定多数のユーザーからのアクセスがある本番環境などでは(内部Webサーバーからのアクセスに限定されているとはいえ)使用しないことが推奨されています。もし、それら環境で使用する際は、内部Webサーバーへのアクセスに対し、不特定多数の外部ユーザーからのアクセスを遮断するなど、セキュリティに対するの備えを行ってください

 


記事公開日:2019年12月13日
最終更新日:2019年12月16日


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.