Manual:Preventing access/ja

For help customizing user rights, see Manual:User rights. This page contains examples useful for restricting access.

ここでのほとんどの変更は への変更を必要とする. 関連しない命令無しで、任意のコードの断片を影響させるために追加しなければならない. もしも、 LocalSettings にアクセスできないならば、その多くが実現できない. ファイルはPHPであるが、心配することはない. 1行または複数行のファイルへの追加は、以下の簡単な手順で行なう:


 * 1) もしも、ファイルの終わりに  があれば、それを取り去る. それは不要で、ときには問題を起こす.
 * 2) ファイルの末尾に適当なエディタを使って行を追加する. その前後に空白行を入れても構わない. Windowsのメモ帳は使わないこと. これは、ファイルにバイトオーダマーク(BOM)を追加して動作をおかしくさせることがある. 一般的に、BOMによる障害の兆候は、何も表示されないか、または "headers already sent"（既にヘッダは送信済み）エラーとして現れる. BOMを取り去るためには、 Vim text editor でファイルを開いて、:set nobomb と入力してから保存するか、hex editorを使ってファイルの先頭部分を編集するとよい. Windows WordPad seems to work fine, as does Notepad++. Removal of BOMs can also be accomplished using the Vim text editor by opening the file in Vim, typing :set nobomb, and resaving the file. If you're using a Mac, TextEdit will also do the job.

For more detailed information on editing, read Manual:LocalSettings.php.

シンプルなプライベートなwiki
"自分自身と承認した人だけのプライベートなwiki"の共通のユーザーケースに関して、次の作業が必要です: 下記のセクションの警告をご覧下さい; これは"一般的な使い方"のコードで、あなたの要件にマッチしないかもしれません.
 * 閲覧の制限
 * 編集の制限
 * アカウント作成の制限

Depending on what extensions you have installed, you may want to whitelist more pages. For example if you are using the Extension:ConfirmAccount extension, you probably want Special:RequestAccount whitelisted. If the content language of your wiki is not English, you may have to use the translated name of the special pages in question.

アカウント作成を制限する
To restrict account creation, you need to edit LocalSettings.php in the root path of your MediaWiki installation.

新しい利用者は管理者によって以下の方法で引き続き作成できる:

sysopは、次の方法で、新しいユーザーを作ることができます:


 * 1) 管理者としてログインし、 Special:Userlogin にいく.
 * 2) アカウント作成フォームを出すために"アカウントの作成"をクリックする.
 * 3) Enter a username and an email address, and click the "by email" button. Note you need $wgEnableEmail=true or else the sysop must pick a password and send it to the user.
 * 4) The account will be created with a random password which is then emailed to the given address (as with the "forgot password" feature). The user will be requested to change password at first login; when he does this, his e-mail address will also be marked as confirmed.
 * When you click the "create account" button instead, you have to manually send the user his password. If you've set $wgMinimalPasswordLength=0 (default configuration up to version 1.15) and you've left the password field blank, the user will be emailed an e-mail address confirmation request but will be unable to access Special:Confirmemail to perform the confirmation. Instead, the user will get an error (unless you've added it to $wgWhitelistRead); the user will be able to login with a blank password and then confirm email, but their password will not have been reset (it will have to be reset manually).

非利用者がログインしようとしたときに表示されるテキストは適した形に修正できる. これは、管理者としてログインしたときに MediaWiki:Nosuchuser で行なうことが出来る. フォーマットが無視され、テキストがその通りに描画されるため、特別な形式を使わないで、平文テキストを使うこと(Might have changed, see bug 12952).

You may also modify the contents of the e-mail sent to new users by editing the page MediaWiki:Createaccount-text.

管理者でもアカウントを作成できないようにするためには:

To add a message on top of the login form, modify MediaWiki:Loginstart or (to place on bottom of the form) MediaWiki:Loginend. Alternatively, use this code in your LocalSettings:

すべてのページの編集制限
利用者は引き続きそれらの変更と共にページを読むことができ、Special:Export/Article nameかその他の方法(bug 1859を参照)を使うことによってソースを閲覧できる.

いくつかの例に関してはManual:User rights/ja と$wgGroupPermissionsを参照して下さい:

Some examples of how to protect all pages from editing (not reading) by certain classes of users:

匿名編集を制限する
Requires that a user be registered before they can edit.

sysopではないすべてのユーザーの編集を制限する
Requires that a user be a member of the administrators (sysop) usergroup.

1.10より前
1.10以前のコアソフトウェア中ではこの機能は提供されていない. meta:User:PyneJ/Hacks/PageWhiteListのようにハックする必要がある.

1.10以降
MediaWiki 1.10中では、$wgNamespaceProtection変数を使うことで全ての名前空間に対して制限をかけられる. 例: 最後の例は、(Policy名前空間という) 固有の名前空間が存在し、 がその名前空間番号と等しい定数として定義されていることを仮定している. Manual:Using custom namespaces/jaを参照.

ある特定のページの編集制限
保護機能を使います. デフォルトでは、sysopはsysopsだけが編集できるようにページを保護できます. 1.9とそれ以降において、デフォルトではsysopは(設定された期間よりも古いアカウントを持つ)"autoconfirmed"ユーザーのみが編集できるようにページを保護することもできます.

If you want to restrict editing to groups with specific permissions, edit $wgRestrictionLevels. To prevent actions other than edit and move, use $wgRestrictionTypes.

一部を除いてほとんど全ての編集を制限
すべてのページに対して無差別な編集の制限をしたいが、より気前よく編集できるようにいくつかのページ(サンドボックス、リクエストページに参加する、など)だけ許可したい場合、EditSubpages extensionを利用できます. これは多くの事例に当てはまらないのかもしれませんが、保護されたすべての名前空間と、編集可能にしたいすべてのページを持つ誰でも編集可能な特別なもののみで、特定のページの一部の編集を制限するの方法も利用可能です.

特定のIP範囲の編集制限
学校などの施設は特定のIPアドレス範囲を除いて編集ブロックをしたいと考えることが多いようです. これを行なうために、全ての他のレンジはblockedされなければならない. これを行うためのコードの変更なしに可能な現在唯一の方法は、Special:Blockipに行き、編集ブロックをしたい、65536個のCIDRブロックの各々の1つをシステム的にブロックすることである. これはこれ以降の全てのMediaWikiで動作する. これは名前空間毎の基準では動かない.

代替として、継ぎ目なくこれを行なうために、コードをハックすることは可能だが、いつまでもできるかできないかは不明である.

特定の利用者の編集ブロック
blocking機能を使い、全ての編集アクセス権限を取り去る. そのユーザーグループを変更無しで、特定のページに対して特定の利用者の編集を認めるか、制限するかについて、コアソフトウェアが行なう方法はない.

ページ作成の制限
Note: Revoking the edit right already prevents affected users from creating new pages and talk pages.

Restrict page creation in certain namespaces
There are separate rights for creating talk pages (createtalk) and creating non-talk pages (createpage). If you need per-namespace control finer than that, it is not possible in core mediawiki, and requires an extension such as Extension:Lockdown.

全てのページの閲覧制限
if you want anonymous users to be unable to view the wiki markup/code, you should not allow them to edit any page (see above). If they can edit any page, they can use template inclusion to view even pages they can't edit. This may be possible to avoid in 1.10 by using $wgNonincludableNamespaces (or in earlier versions using the NonincludableNamespaces extension), but that may not have been extensively tested.

この方法は、訪問者が、アカウント作成後にwikiを閲覧可能にすることが可能になることを期待する限り、上記のと組み合わせることがたぶん最もよい方法である.

アップロードされた画像は画像ディレクトリ名を知っている限り誰でも引き続き閲覧可能である. image_auth.phpスクリプトのための場所$wgUploadPathとManual:Image Authorisation/ja中の引き続く命令、あるいは .htaccess のような画像を保護するための外部の方式を使う.

もしも任意の利用者があなたのページを閲覧できないならば、検索も出来ない. Google上にインデックスされない.

Add this line to your LocalSettings.php file:

の設定によってユーザーはメインページとログインページを閲覧できます. この行無しでは、誰もログインできません. ページの名前が複数の単語で構成される場合、それらの間にアンダースコア("_")ではなくスペース(" ")を使います.

プライベートなサイトのメインページに加えて、"Special:Recentchanges"を$wgWhitelistReadに追加することでフィールドリーダーのためにRecentchangesページにアクセスできます(このページの内容がプライベートではないと考えるのであれば).

何らかの理由で、サイドバー、メインページ、もしくはログインスクリーンも保護する必要がある場合、.htpasswdもしくはそれと同等の高いレベルの認証方法を利用することをお勧めします.

Note that although Special:Listusers won't be available, it can be determined if a username is correct from Userlogin errors. You may want to give a common text for MediaWiki:wrongpassword and MediaWiki:nosuchusershort.

If you receive a JavaScript error when not logged in, and are using MediaWiki 1.16 or earlier, you will need to add a "-" to the $wgWhitelistRead so that the dynamically generated JavaScript file is readable by anonymous.

The source code of index.php has a reference to an article called "-":

&amp;action=raw&amp;gen=js&amp;useskin=vector&amp;270">

特定のページの閲覧を制限する
sysop以外のユーザーが閲覧できないようにするためには、削除する方法が簡単です. sysopさえも閲覧できないようにするためには、the Oversight extensionで永久に削除できます. ページのテキストを完全に破壊するためには、データベースから手動で削除します. どの場合でも、この状態にあるページは編集不可能で、大抵の目的のためにはもはや存在しません.

ページがあるユーザーに対しては普通に振る舞うがその他のユーザーに対しては見えないようにすることは、大抵のフォーラムのソフトウェアでは可能ですが、MediaWikiではとても難しいことです. MediaWikiは2つの基本的なアクセスモードのために設計されています:


 * 1) 誰でもwiki上のすべてのページにアクセスできる(いくつかの特別ページの例外はあり). これはWikipediaと姉妹プロジェクトで使われているモードです.
 * 2) 匿名ユーザーはMain Pageとログインページのみ閲覧可能で、どのページも編集できません. 技術的な実装の観点(すべてのページ閲覧の追加チェックだけ)から、これは基本的に上記のものと同じです. これは様々なWikimediaのコミッターなどで使われるプライベートなwikiで採用されるオペレーションのモードです.

それよりも多く閲覧のパーミッションを用意することを意図するのであれば、MediaWikiはその使い方のために設計されていません (bug 1924を参照). データは名前空間、ページ名、他の基準によって必ずしも明確に線引きされず、そのようにしたいのであれば塞がなければならないたくさんの情報漏れの可能性があります(security issues with authorization extensions/jaを参照). 別のwikiソフトウェアがあなたの目的に適切かもしれません. 警告はしました. MediaWikiを使うことが必須であれば、2つの基本的な可能性があります:


 * 1) 共有ユーザーのデータベースで分離されたwikiをセットアップし、1つを閲覧可能にもう一つを閲覧不可能にして(上記を参照)、それらの間にインターウィキのリンクを作ります.
 * 2) サードパーティのハックもしくは拡張機能をインストールします. ソフトウェアをアップグレードするたびに再適用しなければならず、MediaWikiのセキュリティ修正もしくはアップグレードがリリースされても即座には更新されないことがあります. サードパーティは、もちろん、MediaWikiの開発者によってサポートされるものではなく、遭遇した問題をMediaWiki-l、#mediawiki、もしくは他の公式サポートのチャネルで聞くべきではありません. ハックの1つは隠し名前空間のパッチですです; 他にもたくさんのハックのリストがCategory:Page specific user rights extensionsにあります. これらの1つを利用することを計画しているのであれば、security issues with authorization extensions/jaを読んで下さい.

ページの閲覧を認証された内容に制限する
通常は、誰かがページを編集するたびに、そのリビジョンのテキストはデータベースに追加され、ページはそれをソーステキストとして使います. このことは任意のユーザーが任意の時にページを変更できることを意味します. すべてのバージョンのページは"ページの履歴"で見ることができます.

現在のリビジョンの代わりに特定の"認証された"リビジョンを表示するためには、FlaggedRevs extensionが必要になります. 許可されたユーザーはページ、とテキスト、テンプレートのリビジョンをレビューすることが可能で、その時点で示される画像のページのリビジョンはデータベースに記録されます. 最近の更新はこの方法でパトロールされ、認証されたバージョンはページの履歴でマークが付けられます.

いくつかのページに対する閲覧制限
管理者以外の誰にでも閲覧制限をしたい場合、単に、deletedを使うことが出来る. 管理者でも閲覧制限をしたい場合、the Oversight extensionを使ってより恒久に取り去ることが出来る. ページのテキストを完全に壊したい場合、データベースから手動で取り去ることが出来る. この場合、この状態中でページは編集できず、そしてもはや存在しない.

認証されたバージョンのみを表示する
wiki上で読み手によるそれぞれのページの安定バージョン以外のすべてのページの閲覧を制限することもできます. 安定バージョンを持たないページは閲覧できません. 選択された閲覧の制限に関して、これは推奨されません. また、画像の認証が有効ではない場合この機能は動作しないことに注意して下さい(読者は画像を閲覧できないことがあります).

安定バージョンを例外　にすることでこれは機能しますので、一般的には閲覧権限を無効にする必要があります. See the #すべてのページの閲覧を制限するのセクションをご覧下さい.

認証されていないテンプレートもしくは画像を使う認証されたページはこれらのテンプレートと画像も表示します.

他の制限
作成者のみにページを編集可能か、履歴の閲覧を禁止にしたいか、そのほかのいくつかをしたいと思う. それらのどれもMediaWikiはサポートしていない. もしも、それ以上細かな許可を必要とするならば、節にこの目的のためにデザインされた他のwikiパッケージのリンクがあり、そのためにデザインされていないが、何らかの方法で動作するMediaWikiをゆがませるハックの試みのようなものである.

以下も参照
There are some related manual/help pages that may be of interest:


 * Manual:LocalSettings.php/ja
 * Manual:$wgGroupPermissions/ja
 * Manual:$wgRestrictionTypes/ja
 * Manual:$wgRestrictionLevels/ja
 * Manual:$wgNamespaceProtection/ja
 * Manual:$wgEmailConfirmToEdit/ja
 * Manual:$wgNonincludableNamespaces/ja
 * Manual:User rights/ja
 * Manual:User rights management/ja
 * Help:Assigning permissions/ja

他のwikiソフトウェアの中にはMediaWikiよりもきめ細かいアクセスコントロールのサポートをしているものがあります:


 * MoinMoin
 * GroupWikiBase based on MediaWiki (limited documentation, small project)
 * TWiki
 * TikiWiki has fully configuable access control to features and permission levels.

If you want better access control but want to use MediaWiki, this is a list of extensions and hacks to allow restrictions not possible in the software proper. These hacks may be out-of-date (check the version they're for). Please don't ask in official MediaWiki support channels if something goes wrong with a third-party hack.


 * NamespacePermissions Extension
 * PageSecurity extension
 * Hierarchical Namespace Permissions
 * Page access restriction with MediaWiki
 * CTLpedia hacks
 * Extension:PageSecurity
 * Extension:Hierarchical Namespace Permissions
 * Extension:BizzWiki
 * Extension:GroupPermissionsManager
 * Extension:AuthorProtect


 * Page access restriction with MediaWiki
 * CTLpedia hacks