DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:plugin:hidingip

文書の過去の版を表示しています。


IPアドレス非表示化プラグイン

互換性のある DokuWiki バージョン

Greebo, 2018-04-22

plugin IPアドレスが公に晒されるのを防ぎます。管理者はこのプラグインに関わらずIPを閲覧可能です。

最終更新日
2018-10-24
種類
Action
リポジトリ
ソース

この拡張は二年以上更新されていません。もはや維持管理や対応がされておらず、互換性に問題がある可能性があります。

This extension is not in the 'plugin' or 'template' namespace and is therefore ignored.

タグ annonymous, 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を隠そうとしてくれます。

表面的にデータを書き換えるだけですので、コアデータは変更されません。

どうやって隠しているの?

最近の更新と以前のリビジョンでは…

$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)

開発

変更履歴

  • 2018-06-01
    • 最初のリリース
  • 2018-06-02
    • 文字化け修正
  • 2018-10-24
    • バグ修正アップデート(WARNINGレベルのエラーが発生していた問題と、サイト設定「showuseras」が「username_link」もしくは「email_link」だった場合にプラグインが上手く作動しなかった問題)

既知のバグや問題

現時点ではありません

ToDoリスト・やる事

現時点ではありません

連絡先

プラグインに問題が見付かりましたら、GitHubのページにトピックを作成出来ます(日本語OKです)。他の事で何かありましたら、以下の連絡先をご利用下さい。

議論

1)
レアケースだとは思うけど
ja/plugin/hidingip.1540368896.txt.gz · 最終更新: 2018-10-24 10:14 by hokkaidoperson

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki