| アーカイブ |
コラム・ブログ : 登録ユーザーのアカウント情報(会員情報)を隠す方法
登録ユーザーのアカウント情報(会員情報)を隠す方法
ゲストから登録メンバーのアカウント基本情報(プロフィール)を見えなくする方法をご紹介いたします。
初期の設定では、
XOOPSサイトのURLの後ろに
[XOOPS_URL]/userinfo.php?uid=(任意の整数)
を入れると、ゲストから登録ユーザーのプロフィールが見られます。
会員情報、丸見えです。社内イントラで社内グループウエアとして構築する場合は部署などがわかってよいのですが、クローズドな会員限定のコミュニティサイトだとちょっと困るかもしれません。
これは、XOOPSの仕様です。
しかし、会員限定でしかも、入会も制限している秘密サイト(?)など、あまりオープンにしたくない場合、会員情報が開示されては困ると思います。
その場合の非表示方法は2つの方法があります。
A.ゲストがアクセスすると空白にする(一部だけ見せる)
modules/system/templates/system_userinfo.html をいじります。
赤字を追加
<{if $xoops_isuser == true}>
<{if $user_ownpage == true}>
<form name="usernav" action="user.php" method="post">
<br /><br />
<table width="70%" align="center" border="0">
(中略 最後まで)
<{/foreach}>
<!-- end results item loop -->
<{$module.showall_link}>
</p>
<{/foreach}>
<!-- end module search results loop -->
<{/if}>
必要であれば、ゲストに表示させるユーザ情報関連のHTMLをここに記入
例:ゲストからはアクセスできません。
これで、ゲストがアクセスすると真っ白、あるいは、コメント文が表示されます。
B.ゲストをはじく(閲覧禁止にしてトップに戻す)
userinfo.phpのところに、
次のコードを挿入
include 'mainfile.php';
include_once XOOPS_ROOT_PATH.'/class/module.textsanitizer.php';
(中略)
//security patch
if ( !$xoopsUser ) {
redirect_header(XOOPS_URL."/"3_NOPERM);
exit();
}
この方法で、ユーザー以外に閲覧を禁止・制限をすることが出来ます。
登録ユーザー以外は、ユーザー情報が見れないようにする方法のご紹介でした。
参考
Re: 登録ユーザー以外でも、ユーザー情報が見れてしまう
ゲストからはアカウント情報のホームページとメールアドレスは参照不能にしておきますか
XOOPS運用Tips : ゲストにユーザーのプロフィールを見せない




