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 を消すという荒技もあります。
» 続きを読む