XOOPS でユーザー情報を未ログインで表示させなくする


※ この記事の内容は古くなっています



デフォルトでは、(20.13 時点において 以降はしらない)
開発者が個人情報保護を認識していないようで、
未ログインでも 登録ユーザー情報を足れながしです。

そのまま使うと、個人情報をたればながすわけですので
運営者は なにかにまきこまれて法律的に厳しいかと思います。

そこで とりあえず、
ログインしないと表示させない方法です。

【edituser.php で 利用しない項目をカットします。】
  これだけで、かなりのリスクが減ります。

たとえば、こんな感じです
// $form->addElement($name_text);
// $form->addElement($bio_tarea); // その他

また、こんなことるすることで 入力項目を制限します。
$location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
 ↓
// $location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
$location_text = new
XoopsFormSelect(_US_LOCATION, 'user_from', $xoopsUser->getVar('user_from', 'E'));
$location_text->addOptionArray(array(
""=>""
,"北海道"=>"北海道"
,"青森"=>"青森"
,"東京"=>"東京"
,"沖縄"=>"沖縄"
,"その他"=>"その他"
,"海外"=>"海外"
,"宇宙"=>"宇宙"
,"ひみつ"=>"ひみつ"
));
 
$occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
 ↓
// $occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
$occupation_text = new
XoopsFormSelect(_US_OCCUPATION, 'user_occ', $xoopsUser->getVar('user_occ', 'E'));
$occupation_text->addOptionArray(array(""=>"","ひみつ"=>"ひみつ"
, "芸人"=>"芸人"
, "宇宙人"=>"宇宙人"
, "一般人"=>"一般人"
,"その他"=>"その他"));



【html\modules\system\templates\system_userinfo.html】
次に
\html\modules\system\templates\system_userinfo.html

を開き、
不都合な項目は 変更していきます

誰でも閲覧 → ログインした者は閲覧可 に変更
<td class="odd"><{$user_email}></td>
 ↓
<td class="odd"><{if $xoops_isuser == true }><{$user_email}><{else}>***<{/if}></td>
さらに
↓ 誰にも見せたくない場合は、項目自体を 消すといいでしょう。
 

最後に、モジュール システムをアップデートして おわり。


 もー わからない っていう時の手段として
userinfo.php を消すという荒技もあります。

» XOOPS でユーザー情報を未ログインで表示させなくする。'">続きを読む