ホーム > フォーラム > 質問箱 > X2.0.16a JP > 他人のメールアドレスが見える

他人のメールアドレスが見える
投稿者: enmaai | 投稿日時: 2009/4/10 19:37 | 閲覧: 18361回
enmaai
xoopsサイトを運営しているのですが

ユーザー間でメールアドレスが見えてしまうようです。
過去ログを参照したのですが、解決しそうも無いので
いい方法をお伺いします。

このメールアドレスを公開する にチェックがはいっていなくても
見えてしまうようです。

管理人権限のあるアカウントではもちろんですが
単なる登録ユーザーで確認しましたが
管理人以外のメールアドレスも確認できます。
このメールアドレスを公開するにはチェックは入っていません。

本来の、このメールアドレスを公開する/しない 機能を
稼動させるためにはどのようにしたらいいでしょうか。

XOOPS Cube Legacy 2.1.6a です。

コメント(19)

Re: 他人のメールアドレスが見える 
Re: 他人のメールアドレスが見える 
投稿者: shige-p | 投稿日時: 2009/4/11 8:20
shige-p
ユーザーモジュールのテンプレートファイルであるuser_userinfo.htmlの44行目付近の

get('user_viewemail') == 1 || $user_ownpage == true || $xoops_isadmin == true }>

get('user_viewemail') == 1 && $xoops_isuser == true) || $user_ownpage == true || xoops_isadmin == true }>
というふうに書き換える(テンプレートファイルの更新の仕方は http://usadeki.jp/modules/pico/index.php?content_id=25 あたりを参考にしてください)

これで「メールアドレスを公開するにチェックが入っていて、アクセスした人が登録ユーザー」か「アクセスした人がアカウントの本人」か「アクセスした人が管理者」の3つのどれかならメールアドレスが公開されます。
XCLのホダ塾ディストリビューション1.0.3ではOKでした。
#19714 | | 返信する |
Re: 他人のメールアドレスが見える 
投稿者: enmaai | 投稿日時: 2009/4/11 20:13 | 親コメント: #19714
enmaai
テンプレートをdefault2にコピーして
ALTSYS からユーザーモジュールのuser_userinfo.htmlを
教えてもらったように編集
一般設定から使用するテンプレートをdefault2に変更

としましたが、変化ありません。
なにか手順で足りないところはありますか?
Re: 他人のメールアドレスが見える 
投稿者: shige-p | 投稿日時: 2009/4/11 23:42 | 親コメント: #19715
shige-p
たびたび申し訳ないです。
手順はあっていると思います。
私が変に省略して書いてしまったので、間違った修正をしていると思います。
改めて書きますと

<{if $thisUser->get('user_viewemail') == 1 || $user_ownpage == true || $xoops_isadmin == true }>

の部分を
<{if ($thisUser->get('user_viewemail') == 1 && $xoops_isuser == true) || $user_ownpage == true || xoops_isadmin == true }>

と修正する。
これでお試しください。
Re: 他人のメールアドレスが見える 
投稿者: enmaai | 投稿日時: 2009/4/12 1:06 | 親コメント: #19716
enmaai
ありがとうございます。

ユーザーグループがいくつかあるのですが

・管理人は全員のアドレスが見える
・グループ分けされた人も全員が見える
・登録ユーザーは管理人以外見えない

という結果になりました。

教えてもらった変更場所に更にそれぞれのグループIDを追加するのでしょうか?
知識が無いのでまったくわかりませんけど・・・
Re: 他人のメールアドレスが見える 
投稿者: shige-p | 投稿日時: 2009/4/12 10:57 | 親コメント: #19717
shige-p

ありがとうございます。

ユーザーグループがいくつかあるのですが

・管理人は全員のアドレスが見える
・グループ分けされた人も全員が見える
・登録ユーザーは管理人以外見えない

という結果になりました。

教えてもらった変更場所に更にそれぞれのグループIDを追加するのでしょうか?
知識が無いのでまったくわかりませんけど・・・
Re: 他人のメールアドレスが見える 
投稿者: shige-p | 投稿日時: 2009/4/12 10:59 | 親コメント: #19719
shige-p
おはようございます。

私が例示したもので実際に試した範囲だと、
($thisUser->get('user_viewemail') == 1 && $xoops_isuser == true)

この部分では「メールアドレスを公開する」設定にしてある登録ユーザーのアカウント情報ページに他の登録ユーザーがアクセスした場合、メールアドレスが表示される。「公開しない」設定にしている場合は登録ユーザー間でもメールアドレスは表示されない。

$user_ownpage == true

この部分では登録ユーザーが自分自身のアカウント情報ページにアクセスした場合、メールアドレスが表示される。「公開する」「公開しない」の設定に関わらない。

xoops_isadmin == true

この部分では管理者が登録ユーザーのアカウント情報ページにアクセスした場合、メールアドレスが表示される。「公開する」「公開しない」の設定に関わらない。

という結果になっています。登録ユーザーがどこかのグループに属してる場合っていうのは想定していません。
グループごとに条件を変えたいとなるとテンプレートをいじるだけでは難しいと思います。
[参考サイト]
http://xfield.info/modules/tautech/content0106.html

どういうふうに個人情報を管理するかによりますが、
<{if $user_ownpage == true || xoops_isadmin == true }>

とすれば自分自身か管理者以外は見られなくなると思います。


・管理人は全員のアドレスが見える
・グループ分けされた人も全員が見える
・登録ユーザーは管理人以外見えない


上に書いたように1番目の動作は理にかなっています。2番目と3番目の動作がよくわからないのですが・・・。
「グループ分けされた人」が「公開しない登録ユーザー」も含めて全てのユーザーのメールアドレスを閲覧できてしまう。
「登録ユーザー」が「公開する登録ユーザー」がいるにも関わらず管理者のメールアドレスしか見えない。
だとするとちょっと変ですね。グループの所属とユーザーの区別(管理者、登録ユーザー、ゲスト)は別物だと思うので。
Re: 他人のメールアドレスが見える 
投稿者: enmaai | 投稿日時: 2009/4/13 14:07 | 親コメント: #19720
enmaai
ありがとうございます。
いろいろやってみましたが、余計わからなくなってきました。

管理人→全員見える
グループA→全員見える
グループB→設定どおりの挙動をする
グループC→設定どおりの挙動をする
登録ユーザー、ゲスト→設定どおりの挙動をする

というところまできました。

グループAの設定で何か問題があるのでしょうか?

余談ですがユーザーリストで以前は全員表示されてたのですが
今回の修正中だと思うんですけど
いつの間にか管理人とグループAしか表示されなくなっていました。
メールの件は解決できました。 
投稿者: enmaai | 投稿日時: 2009/4/13 19:47 | 親コメント: #19723
enmaai
こんばんわ
メールアドレスの件ですが、自己解決しました。

原因は一部モジュール管理権限を与えたグループがあったこと
であったようです。
アバターマネージャー管理の権限だけ与えていたのが問題だったようです。

いろいろ教えていただきありがとうございました。

ユーザーリストが全メンバー表示されていたものが
現在、管理人とグループAだけ表示されるようになってしまったのですが
こちらはどのように直せばよいのでしょうか。
知ってる方いらっしゃいましたらよろしくお願いします。
ユーザーリストの表示について 
投稿者: enmaai | 投稿日時: 2009/4/13 23:36 | 親コメント: #19724
enmaai
どうやら、ユーザーリストというのは
管理者権限がある人しか表示されないようです。
いろいろ試して少しずつ表示される人が減っていったのは
そういうことらしいのですが、

管理者の権限を一つでも与えると メールアドレスが見えてしまう
管理者の権限を一つも与えないと ユーザーリストから消えてしまう。

困りました。

メールアドレスが見えない状態でユーザーリストに表示させる方法は
ないものでしょうか。
Re: ユーザーリストの表示について 
投稿者: shige-p | 投稿日時: 2009/4/14 13:36 | 親コメント: #19725
shige-p
ちょっと確認したいのですが。

ユーザーリストというのは何をさしていますか。
ユーザーモジュール »» ユーザー管理 で表示されるユーザー名の一覧でしょうか。

もう一点。
アバターマネージャー管理の権限というのはどのように与えたものでしょうか。
手順を教えてください。
Re: ユーザーリストの表示について 
投稿者: enmaai | 投稿日時: 2009/4/14 15:11 | 親コメント: #19726
enmaai
グループの権限の設定ですけど
元々はXOOPS2.0.15a JPで、上書きしてXCLに変えたので
システム管理が残っていてその名残なんでしょうか?
昔のシステム管理がそのまま残っていますのでグループ権限をいろいろ選ぶことが出来ます。

そうですね。ユーザーリストというのはXCLに変えるときに
酷く文字化けして自分で名前変えてしまったので
今思うとそういう名前じゃなかったかもしれませんが
グループ別に名前が表示されて名前の横からPMを送れるようになったやつです。
XOOPS2.0.15a JPにはそういうのはなかったのでXCLの機能だと思ってましたが。

今思うと酷いことしてますね。

何とかなりますでしょうか。
Re: ユーザーリストの表示について 
投稿者: shige-p | 投稿日時: 2009/4/14 22:12 | 親コメント: #19727
shige-p
私の場合、2.0.16からXOOPSを触り始めて、XCLにアップグレードしたときは新規だったものですから、
ご提示いただいた環境でこのような挙動になるのがいいのか悪いのか正直言って判断つきかねます。
お役に立てず申し訳ないです。
Re: ユーザーリストの表示について 
投稿者: enmaai | 投稿日時: 2009/4/15 22:21 | 親コメント: #19729
enmaai
そですか、いろいろありがとうございました。

一つわかったことがあります。

ユーザーリストではなくブロック名は「サイト情報」でした。

このサイト情報を全員分表示させる方法を知ってる方いらっしゃいましたら

引き続きよろしくお願いします。
Re: ユーザーリストの表示について 
投稿者: shige-p | 投稿日時: 2009/4/16 15:44 | 親コメント: #19731
shige-p
状況がのみこめてきました。

ユーザーグループで見るとアバターマネジャーはシステム管理者権限の範疇ですね。
サイト情報はこのサイトがどんな人(達)によって運営されているかを内外に知らせるブロックだと思いますので、
システム管理者権限を1つでも持っている人がリストアップされ、そうでない人は除外されているのだと考えます。
テンプレートをいじれば全員表示されるかもしれませんが、本来の使い方とはちょっと違う気もします。

2.0.15から上書きしたなら、メンバーモジュールっていうのが残っていないでしょうか(フォルダ名はxoopsmembers)。
これは登録者の一覧を検索することによって出力するものです。
これを例えば登録ユーザーのみに権限を与えておけば全ユーザーの情報を取得できます。しかしメールアドレスを公開していない人は他の登録ユーザーにアドレスを知られません。
トップページが一覧ではなく検索画面ですが、例えば何もキーワードを入れずに送信ボタンを押せば無条件に全てのユーザーがリストアップされます。
唯一問題になるかもしれないのは誰がどこのグループに属しているかが分からない点でしょうか。

あと、このモジュールは情報の更新にsystemモジュールを呼び出しています。このモジュールがないと例えば管理者権限を持つ人がこのページからデータの更新をしようとすると失敗します(systemモジュールがあればたぶんok)。
もっとも更新したい場合は管理ページ内で同じことができるので、あえてsystemモジュールを入れないでおくっていう手もありかもしれません。
運営されているサイトでどれほどのユーザーがいるか分かりませんが、全てが何のページングもされずに全部出てしまうよりは、知りたい人がページあたりの件数を設定できたりするので使い勝手はいいように思います。

XCL 2.0.6aにXOOPS 2.0.16aのxoopsmembersモジュールを持ってきて簡単なテストをしたので書いてみました。
Re: ユーザーリストの表示について 
投稿者: enmaai | 投稿日時: 2009/4/16 19:38 | 親コメント: #19733
enmaai
こんばんわ
xoopsmembersは残っています。
http://xoopscube.jp/forum/4255
を参考にしてグループ検索する方法も導入しています。
 
サイト情報の常にメンバーが表示されてるのが便利で見やすかったんですけどね
テンプレート弄る知識がないですからね。
難しいですね。
ありがとうございました。なんとか解決できました。 
投稿者: enmaai | 投稿日時: 2009/4/19 19:35 | 親コメント: #19734
enmaai
サイト情報ですべてのグループを表示させる方法ですが、
MySQLのデータベースのxoops_groupsの
group_typeの「サイト情報」に出したいグループをAdminとすることで
表示されるようになりました。

ユーザータイプはADMINでも設定したアクセス権限は守られるようで
指定した部分しかアクセスできないようです。

これによって起きる可能性がある弊害とかありますでしょうか?
こんなやり方じゃ危険なのかな?

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top