1ファイルハッキング (1)
1
ファイルハッキングはXOOPS Cube
の新しいカスタム手段につけられたニックネームです。それはPreload
とActionFilter
の組み合わせによって実現されます。サイト・オーナーはピンポイント・カスタマイズにそれを使用します。
Preload
は初期化コードをXOOPS
Cube
の手続きに追加するメカニズムです(DOSのバッチ・ファイルを想像してください)。ActionFilter
は初期値設定のためのmojavi
ライクなクラスです。CVS
上の最新の2.1
では、Preload
の規則は以下のようになっています:
- /setting/site_default.ini.php の AutoPreload
値は真でなければなりません。しかし、それがデフォルト値であるので、あなたはそれを編集する必要はありません。
- 拡張子が'.class.php' であるファイルを作成してください。
- そのファイルで XCube_ActionFilter
を拡張するクラスを定義してください。
- そのクラス名は、そのファイルのボディー名と等しくなければなりません。
私は実例を用いて1ファイルハッキングのPreload
を説明します。あなたは
XOOPS Protector
をご存じかと思います。GIJOE
さんはXOOPS
Protecor
の最大効果のために、mainfile.php
をハックすることを勧めています。ハックされたmainfile.php
と同様に動作するファイルを作成しましょう:
- XOOPS_ROOT_PATH/preload ディレクトリ内で
'ProtectorLoader.class.php' ファイルを作成してください。
- 以下のコードをプログラムしてください:
class
ProtectorLoader
extends
XCube_ActionFilter
{
function preFilter()
{
include( XOOPS_ROOT_PATH
.
'/modules/protector/include/precheck.inc.php'
) ;
}
function preBlockFilter()
{
include( XOOPS_ROOT_PATH
.
'/modules/protector/include/postcheck.inc.php'
) ;
}
}
ミッション・コンプリートです。
このファイルは、共有するのによいでしょう。
何らかのモジュールをインストールした後に、サイト・オーナーはこのようなファイルでサイトをチューン・アップすることができます。
ノート:
あなたはX11
ライセンスの下で、このエントリーを扱うことができます。
しかし、このエントリーは毎日成長するXOOPS Cube
アルファーバージョンに依存しています。あなたはそのことに注意しなければなりません。
(
日本では、著作権を放棄することはできませんが、X11
ライセンスは日本の著作権法に矛盾しません)
なお、公式の仕様が定められた際に、公式のテクニカル・ドキュメントが公開されるでしょう。