MediaWikiの設定 - 制限

提供:MochiuWiki : SUSE, EC, PCB
2024年8月29日 (木) 02:37時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == ページの制限 == ==== [最近の更新] ==== MediaWikiにおいて、一般ユーザが[最近の更新]を閲覧できないように制限する。<br> <br> この設定を適用することで、以下に示す効果が得られる。<br> * 一般ユーザ (匿名ユーザを含む) が最近の更新ページにアクセスできなくなる。 * 登録ユーザも最近の更新ページにアクセスできなくなる。 * 管…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



ページの制限

[最近の更新]

MediaWikiにおいて、一般ユーザが[最近の更新]を閲覧できないように制限する。

この設定を適用することで、以下に示す効果が得られる。

  • 一般ユーザ (匿名ユーザを含む) が最近の更新ページにアクセスできなくなる。
  • 登録ユーザも最近の更新ページにアクセスできなくなる。
  • 管理者 (sysopグループ) のみが最近の更新ページにアクセスできるようになる。
  • [最近の更新ページ] (Special:RecentChanges) と [関連ページ] (Special:RecentChangesLinked) へのアクセスが制限される。
  • RSSフィード等の最近の更新フィードも無効化される。


LocalSettings.phpファイルを編集する。

vi LocalSettings.php


 # LocalSettings.phpファイル
 
 # 一般ユーザから 'recentchanges' 権限を削除
 $wgGroupPermissions['*']['recentchanges'] = false;
 
 # 登録ユーザにも 'recentchanges' 権限を与えない
 $wgGroupPermissions['user']['recentchanges'] = false;
 
 # 管理者 (sysop) グループに 'recentchanges' 権限を与える
 $wgGroupPermissions['sysop']['recentchanges'] = true;
 
 # 最近の更新ページへのアクセスを制限
 # 最近の更新ページへのアクセスを制限
 $wgHooks['SpecialPageBeforeExecute'][] = function ( $special, $subPage ) {
    if ( $special->getName() == 'Recentchanges' || $special->getName() == 'Recentchangeslinked' ) {
       if ( !$special->getUser()->isAllowed( 'recentchanges' ) ) {
          throw new PermissionsError( 'recentchanges' );
       }
    }
    return true;
 };
 
 # オプション : 最近の更新フィードも制限する場合
 $wgRCFeeds = [];
 $wgFeedLimit = 0;


※注意
設定変更後、MediaWikiのキャッシュをクリアすること。
必要に応じて、他のユーザグループにもrecentchanges権限を与えることができる。
この設定により、一般ユーザはMediaWikiの変更履歴を追跡しにくくなる。


トークページ (議論ページ)

MediaWikiにおける匿名ユーザ (ログインしていないユーザ) のトークページ (議論ページ) 機能を制御する。
falseに設定する場合は、匿名ユーザのトークページ機能が有効になる。
これにより、登録していないユーザでもMediaWiki上でコミュニケーションを取ることができる。

 # 匿名ユーザのトークページ機能が無効になる
 # 匿名ユーザのトークページ機能が無効になり、IPアドレスに基づくトークページは作成されない
 # ユーザ名の代わりにIPアドレスが直接表示される (トークページへのリンクなし)
 $wgDisableAnonTalk = true;
 
 # 匿名ユーザのトークページ機能が有効になる
 # 匿名ユーザ (IPアドレス) に対してトークページが作成可能になる
 # IPアドレスに基づいたトークページへのリンクがユーザ名の代わりに表示される
 $wgDisableAnonTalk = false;


使用例を以下に示す。

  • スパム対策
    匿名ユーザによるスパム投稿を減らすために、この機能を無効にすることがある。
  • プライバシー保護
    IPアドレスに基づくページの作成を防ぐことで、匿名ユーザのプライバシーを保護できる。
  • コミュニティ管理
    登録ユーザとのコミュニケーションを促進するために、匿名ユーザのトークページを無効にすることもある。


※注意
この設定を変更する場合、コミュニティの運用方針やユーザのプライバシーへの影響を考慮する必要がある。
trueに設定した場合でも、既存の匿名ユーザのトークページは削除されない。
新しいページの作成と編集が制限されるだけである。

この設定を変更する必要があるかどうかは、運用目的や匿名ユーザとのコミュニケーションの重要性、スパム対策の必要性等を考慮して判断する。