IPアドレス非表示化プラグイン
概要
デフォルトでは、DokuWikiは時々、非ログインユーザーのIPアドレスを、誰からも見える位置に表示します。
例えば、「最近の更新」や「以前のリビジョン」は次のように表示されます。
2018/05/27 12:39 pagename – 編集概要 XXX.XXX.XXX.XXX -xxx B 2018/05/22 23:54 pagename – 編集概要 username ±0 B
ですが、IPアドレスを晒したくない人も多いかと思います。
このプラグインでは、そのようなIPアドレスを代替テキスト(デフォルトは「非ログインユーザー
」)に置き換えます。
管理者は、このプラグインの在り無しに関わらず常にIPアドレスを見れる状態です。
導入
プラグインマネージャーと、上記URLを利用すると、プラグインの最新版をインストール出来ます。
プラグインを手動でインストールする場合はこちらをご覧下さい。
使い方
特別な設定は不要です。
プラグインをインストールした後、次の場所に表示されるIPを隠そうとしてくれます。
- 最近の更新(イベント「HTML_RECENTFORM_OUTPUT」経由)
- 以前のリビジョン(イベント「HTML_REVISIONSFORM_OUTPUT」経由)
- 差分表示(イベント「TPL_CONTENT_DISPLAY」経由)
- 最終編集者(イベント「COMMON_USER_LINK」経由)
- 編集ロック(イベント「COMMON_USER_LINK」経由)
表面的にデータを書き換えるだけですので、コアデータは変更されません。
プラグインの稼働タイミングは設定変更出来ます(後述)。
Helperプラグインのオプション
このプラグインで使用している代替テキスト「非ログインユーザー」のローカライゼーション(テキストの英語版、フランス語版etc.)を、他のプラグインでも使用出来ます。
コードのサンプルです
if (!isset($_SERVER['REMOTE_USER'])) { if(!plugin_isdisabled('hidingip')) { $hidingip = plugin_load('helper', 'hidingip'); $user = $hidingip->altText(); // "$hidingip->getLang('notloggedin')"も同じ働きをします }
実用的なサンプルについては、拙作のAutotweet2プラグインが参考になると思われます(こちら)。
どうやって隠しているの?
最近の更新と以前のリビジョンでは…
$event->data->_content['(任意の数字)']['class']
に文字列'user'があった場合、$event->data->_content['(その次の数字)']
には、ユーザー名もしくはIPアドレスが保持されています。
なので、このプラグインではその'user'文字列を検出し、見付かった場合、$flag
変数にTRUEを代入します。
その$flag
変数がTRUEの場合に、文字列内にIPアドレスがあるかチェックします。もしあれば、それを非表示にします。
以前のリビジョンの最初の項目が他の項目と少し異なるようなので、それに合わせたカスタマイズをしています。
差分表示では…
最近の更新や以前のリビジョンでのものと似たような機能ですが、ここではHTMLを直接いじっています。
最終更新者と編集ロックでは…
仕組みに変更があります
$event->data['username']
がIPアドレスと思われる場合、$event->data['name']
を書き込みます。
IPアドレスっぽいユーザー名だった場合、ログイン中であってもうっかり置き換えられてしまいます。例:3.57.2.131)
設定変更
設定管理プラグインから、以下の設定を変更出来ます。
オプション | 説明 | 値のタイプ | 既定値 |
---|---|---|---|
whenToHide | プラグインの稼働タイミング(テキストボックスでは、他のプラグインでHidingipプラグインを補助利用(Helperプラグイン)する際の稼働タイミングを指定出来ます。) | revision (以前のリビジョン)、recent (最近の変更)、diff (差分表示)、userlink (COMMON_USER_LINKイベント(編集ロック表示や、最終編集者表示など))からの複数選択 | revision,recent,diff,userlink |
rightToSeeIP | 誰がIPアドレスを見れるか(設定「manager」「superuser」参照) | sp (スーパーユーザー)、mg (マネージャー(スーパーユーザー含む))のプルダウン選択 | sp |
開発
変更履歴
- 2018-06-01
- 最初のリリース
- 2018-06-02
- 文字化け修正
- 2018-10-24
- バグ修正アップデート(WARNINGレベルのエラーが発生していた問題と、サイト設定「showuseras」が「
username_link
」もしくは「email_link
」だった場合にプラグインが上手く作動しなかった問題)
- 2018-10-30
- オプションの追加(設定項目と、Helperプラグインセクション)
- 2018-11-05
- 不適切な文法を修正
既知のバグや問題
現時点ではありません
ToDoリスト・やる事
現時点ではありません
連絡先
プラグインに問題が見付かりましたら、GitHubのページにトピックを作成出来ます(日本語OKです)。他の事で何かありましたら、以下の連絡先をご利用下さい。