ありがとうございます。
概念のみ、説明させて頂きます。
大前提として、CMS Designerは、コンテンツの一部に利用者制限(アクセス制限)
をかける事を想定して作られていません。
例えば、CMS Designer「全体」にアクセス制限をかける方法は、次の通りとなります。
(1) cmsdesignerフォルダ全体にアクセス制限をかける。
(2) コンテンツを埋め込んだ側の.phpファイルにも個別にアクセス制限をかける。
もちろん、サイト全体にアクセス制限をかけてしまうのが最も手っ取り早い方法です。
ここで、例えば a.php と b.php という2つのコンテンツ埋め込みページがあったとして、
a.phpのみにアクセス制限をかけ、b.phpは誰からでも閲覧できるようにしたとします。
ところが、b.phpにCMS Designer管理下の画像データが埋め込まれている場合、
画像データのURLは
http://yourdomain.com/cmsdesigner/viewimg.php?xxxxxxx.....
というものになります。
(1)によってcmsdesignerフォルダにはアクセス制限がかかっていますから、
この画像は表示することができません。
b.phpのHTML自体は表示できても、そのページ内の画像が表示できない、という
ことになります。
画像データを取り扱わない場合には問題ないのですが、ほとんどの場合、
アクセス制限をかけたいページには画像が表示される為、問題となります。
では、(1)のアクセス制限をはずせばいいのではないか?となるのですが、
これも次のような問題があります。
確かにb.phpは画像も含めて誰からも見れるようになります。
また、a.phpにはアクセス制限がかかっているのでページを開くことが
できません。
しかし、a.phpに表示されている画像のURLは、先ほども挙げたように
cmsdesignerフォルダ内のviewimg.phpというスクリプトを介して表示
されており、cmsdesignerフォルダにアクセス制限がかかっていない状況では
画像直接リンクによって誰でも表示できてしまいます。
結局、cmsdesignerフォルダにアクセス制限をかけるしかないのですが、
そうするとアクセス制限をかけたくないページの画像まで表示できなくなる、
という問題が発生してしまうのです。
これを避ける方法として、次のような方法が考えられます。
(1) cmsdesignerフォルダの viewimg.php、dlfile.php にのみアクセス制限を
かける。
(2) アクセス制限を外したいコンテンツについては、該当のエントリフォルダの
アクセス制限を外す(初期状態ではdataフォルダに.htaccessがあり、アクセス
制限されています)。
(3) 画像を表示する際に、<img src="{myimage}" />の方法ではなく、
エントリフォルダ内の画像ファイルを直接表示するようにする。
※画像ファイル名は、
<img src="cmsdesigner/data/entry/ENTRYNAME/{myimage@src}" />
で求められる。
(1)によって、CMS Designerの画像およびファイル表示にアクセス制限が
かけられます。アクセス制限をかけたいページについては、同様にページ自体に
アクセス制限をかければOKです。
アクセス制限を外したいページ(コンテンツ)については、(2)(3)の対処を
行います。この場合、画像表示はCMS Designerを介さないので、アクセス制限
を抜けることができます。
問題点として、アクセス制限を外したエントリフォルダ内のデータは
外部から丸見えになってしまう為、例え「非公開」に設定したとしても
データを覗き見される可能性がある、という事です。
しかし、一般的にウェブ上のCMSに登録されたデータというのは公開される
事を前提としている為、覗き見されたところで問題になるケースは稀でしょう。
もう一点、この方法を使うと画像の縮小表示ができなくなる為、
HTML上で縮小して表示することになります。
以上、解説はしてみたのですが、お分かりの通り大変複雑な方法であり、
よほどよく理解していないと結局「ちゃんとアクセス制限できてなかった」
という事にもなりかねません。
大変申し訳ないのですが、どうしようもない場合の緊急時対策として、
ご自分の責任の範囲内でご利用頂ければと思います。