ブログ - 最新エントリー
ログに若干手を入れたくて XoopsLogger を差し替え
まずは XoopsLogger を継承したクラスを作る。
続いて Legacy_Controller の _setupLogger をオーバーライドする。
これで完璧!簡単で良いなぁ... と思ったら、うまく動かない....
まずは XoopsLogger を継承したクラスを作る。
続いて Legacy_Controller の _setupLogger をオーバーライドする。
これで完璧!簡単で良いなぁ... と思ったら、うまく動かない....
LogCounterX [2.71a] で「アクセス元ドメイン別」が表示されないなぁ...
とずーーーっと思っていた。
「ホスト参照」を「はい」にしてあるのに表示されないのはなぜだろう?と不思議だった。
でも Web で検索しても、どこにも情報が見つからない。
LogCounterX はかなりメジャーなほうのモジュールだと思うのだが...
ようやく重い腰をあげて自ら確認することに...
とずーーーっと思っていた。
「ホスト参照」を「はい」にしてあるのに表示されないのはなぜだろう?と不思議だった。
でも Web で検索しても、どこにも情報が見つからない。
LogCounterX はかなりメジャーなほうのモジュールだと思うのだが...
ようやく重い腰をあげて自ら確認することに...
その1でコードを変更してみたのだが、よくよく見るとちょっと問題がある。
XoopUserHandler は criteria の条件をエスケープしてくれないので、このままでは脆弱性につながる恐れがある。
修正するとすれば↓のようにする必要がある。
XoopUserHandler は criteria の条件をエスケープしてくれないので、このままでは脆弱性につながる恐れがある。
修正するとすれば↓のようにする必要がある。
XCLのログインコードを見ていてちょっと気になったのは
というくだり。
$userHandler =& xoops_getmodulehandler('users', 'user');
$criteria =& new CriteriaCompo();
$criteria->add(new Criteria('uname', xoops_getrequest('uname')));
$criteria->add(new Criteria('pass', md5(xoops_getrequest('pass'))));
$userArr =& $userHandler->getObjects($criteria);
(...中略...)
$handler =& xoops_gethandler('user');
$user =& $handler->get($userArr[0]->get('uid'));
$xoopsUser = $user;
というくだり。
openid [0.24] (snapshot from sf.net)
■新規登録を許したくない...
ユーザモジュールの「一般設定」で「新規ユーザの登録を許可する」を「いいえ」にしていても openid モジュール経由では登録できてしまう...
これでは困るので、既存ユーザへのマッピングだけを許可するようにしたい。
■新規登録ユーザのグループが登録されない?
openid ログインから新規登録したユーザが、登録ユーザグループにアサインされない。
openid 管理メニューの「一般設定」「初期登録グループ」にアサインされるのではないのか?
■別件(仕様)
xrea では /dev/random /dev/urandom が使えない?ため、管理画面から「OpenID認可モジュール」−「一般設定」−「乱数生成デバイス」を空にする必要がある。
■新規登録を許したくない...
ユーザモジュールの「一般設定」で「新規ユーザの登録を許可する」を「いいえ」にしていても openid モジュール経由では登録できてしまう...
これでは困るので、既存ユーザへのマッピングだけを許可するようにしたい。
■新規登録ユーザのグループが登録されない?
openid ログインから新規登録したユーザが、登録ユーザグループにアサインされない。
openid 管理メニューの「一般設定」「初期登録グループ」にアサインされるのではないのか?
■別件(仕様)
xrea では /dev/random /dev/urandom が使えない?ため、管理画面から「OpenID認可モジュール」−「一般設定」−「乱数生成デバイス」を空にする必要がある。
■メンバ変数
mController
mRoot
mController
mRoot
・xoops_getrequest($name)
=> $root->mContext->mRequest->getRequest($name)
・xoops_header()
=> ...
・xoops_footer()
=> ...
・xoops_result($message, $title='')
=> ...
・getTheme()
=> $root->mContext->getXoopsConfig('theme_set') ???
=> $root->mContext->mRequest->getRequest($name)
・xoops_header()
=> ...
・xoops_footer()
=> ...
・xoops_result($message, $title='')
=> ...
・getTheme()
=> $root->mContext->getXoopsConfig('theme_set') ???
■メンバ変数
mContext = &XCube_HttpContext
mUser = &XCube_Principal
■利用例
mContext = &XCube_HttpContext
mUser = &XCube_Principal
■利用例
function update(&$obj) {
...
if ($obj->isNew()) {
$obj->set('uid', $this->mContext->mXoopsUser->get('uid'));
}
...
}