アクセスするとログアウトしてしまう。
症状
XOOPSにログインした状態で、XPressMEモジュールにアクセスするとログアウトしてしてしまうことがあります。
原因
これは、php.iniの設定でregister_globalsがONに設定してある場合に発生します。
wordpressではセキュリティー対策のためregister_globalsがONの場合、$GLOBALS[]の一部をunsetしています。
その結果、セッションIDが変わってしまい、XOOPS上ではログアウト状態になってしまいます。
register_globalsの設定状態を確認するには
XPressMEのシステム情報からregister_globalsの設定状態を確認することができます。
処置方法
追記(2011/03/21)
この症状の対策としてチェンジセット694を施しましたので下記対策は不要です。(Ver 2.4.0より適応)
通常は、セキュリティーの問題からregister_globalsはOFFとしてあると思うのですが、事情があってONにしなければならないのであれば、
wp-settings.php の46行目あたりの
wp_unregister_GLOBALS();
の部分をコメントアウトすることで、ログアウトを避けることができます。
但し、この部分は、 WordPress側のコードですので WordPressのアップグレードを行うたびに変更が必要となるので、あまりお勧めしません。
やはりregister_globalsは可能な限りOFFにしておくことをお勧めします。
register_globalsをオフにする方法
.htaccessに php_value register_globals 0 を記述します。
追加
この症状の対策としてチェンジセット694を施しましたので下記対策は不要です。(Ver 2.4.0より適応) 2011/03/21追記
