注文の多いXOOPS屋 TOP現在のブログ旧スタッフblog アーカイブ
このページは 2007〜2008 年に公開していた「株式会社RYUS スタッフblog」のアーカイブです。内容は当時のものです。

AdminDebugプリロード

2007/11/21 18:22   gusagi   カテゴリ: mono モノ

gusagiです。
今日は、特定IPだけPHPデバッグを有効にするpreloadについて書かせて頂きます。

XOOPS Cubeに限らず、プログラムによる動的なサイトを運営していて障害が発生した場合、デバッグ情報が必要となることがあります。
XOOPS Cubeの場合、デバッグ設定は管理画面から設定出来ますが、公開中のサイトでデバッグ情報を公開する場合、セキュリティ的には宜しくありません。
かと言って、「画面が真っ白:shock:」な状態では、デバッグ情報がないと原因追及も困難となってしまいます。

XOOPS Cubeの場合、以下のプリロードを利用することで、特定のIPアドレスだけPHPデバッグを有効とすることが出来ます。

下記は、「192.168.1.XXX」からのアクセスだけ、PHPデバッグを有効とする場合です。

<?php
if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;

if ( ! class_exists('AdminDebug') ) {
class AdminDebug extends XCube_ActionFilter
{
function preFilter()
{
$remoteAddr = $_SERVER['REMOTE_ADDR'];
// PHPデバッグを有効とするIPアドレスをシングルクォートで囲った上で、カンマ区切りで記入。
$allowIps = array( '192.168.1.' );
foreach ( $allowIps as $key => $allowIp ) {
if ( strstr($remoteAddr, $allowIp) !== false ) {
define( 'OH_MY_GOD_HELP_ME', 1 );
break;
}
}
}
}
}


このコードを、「AdminDebug.class.php」という名前で保存して、サーバのXOOPS_URL/preloadにアップロードするだけでOKです。
※「192.168.1.」の箇所は、環境に合わせて書き換えて下さい。

ちょっとしたプリロードですが、皆さんの参考になれば幸いです。