V3の前提に、XOOPS_TRUST_PATHという重要な概念があります。親戚のようなものです。この定数は、mainfile.phpで定義します。define(&#039;XOOPS_TRUST_PATH&#039;,&#039;/home/yourhome/xoops_trust_path&#039;);XOOPSでもosCommerceでも、古いタイプのOSS系PHPアプリケーションは大抵、DocumentRootの下にすべてのファイルを展開する形になっています。実はこれ、かなり危ないことで、インクルード専用のファイルをダイレクトにアクセスされることで、思わぬ脆弱性につながりかねません。過去にもAgenda-Xというモジュールでこういう事例があり、簡単にApache権限を持って行かれました。Disclosureとなってしまいます。ちなみに、インクルード用ファイルの拡張子を.incにしておくと、text/plainになってソースコードが流出してしまうから、拡張子はすべて.phpにしておくのが良い、なんて噂も、私にはガセとしか思えません。想定されていないファイルを.phpとして実行されるよりは、ソースコード流出の方がはるかにマシです。XOOPSのようなOSSであれば、ソースコード流出が問題になることもほとんどありません。私自身、拙作モジュールにおいては、.htaccessなどでアクセスコントロールはしてきましたが、.htaccessの効かないホスティングサービスも少なからず存在します。IISで運用しているケースもあるでしょう。この問題に対する最善の対策は、DocumentRootの外にPHPファイルを追い出すことです。まっとうなPHPフレームワークでは、たいていこの様な作りになっています。DocumentRoot内に置かれるべきPHPファイルは、index.php一個だけ。ロジックの本体はすべてDocumentRoot外に置く。JavaScriptなどを、DocumentRoot内に置く。このような作りが正しいはずです。(「何を当たり前のことを言っているんだ」と感じた方にはお詫びします)事実として、XOOPSはそのような作りになっていないので、少しでもそういう作りにしよう、というのがXOOPS_TRUST_PATHの主旨です。XOOPS_TRUST_PATHは、DocumentRootの外に作る必要があります。それも専用に作るべきです。それだけでもほとんど同じ効果が得られます。XOOPS_TRUST_PATH自体、まったく新しい概念ですし、3rdパーティからの提言に過ぎないので、どのように使われるべきか、まだ本当の意味で決まっているわけではありませんが、私の構想はこのようになっています。最速キャッシュHackですでに利用中ここで問題になるのは、初心者の扱いでしょう。mainfile.phpに1行追加、というだけで一気に敷居が高くなりますし、DocumentRoot外に、という説明をどうするのかなんて、非常に難しいわけですが、このあたりはXOOPS本体のインストーラで面倒をみてあげるのがベストじゃないかと思っています。Cubeでは、このあたりも、ディストリビューションチームに任されていますので、XOOPS_TRUST_PATHにも対応したディストリビューションが登場することを期待しています。いう定数名は、minahitoさんのアイデアです。他のOSSなCMSでも、DocumentRoot外に置くファイル群、という概念があり、それをTRUST_PATHと表現するということでした。「TRUST」という言葉の響きがまさにピッタリでしょう。hamakan.jp。