Extension:AccessControl

This page is a translated version of the page Extension:AccessControl and the translation is 42% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
AccessControl
Sürüm durumu: kararlı
Uygulama Kullanıcı hakları , Ayrıştırıcı uzantısı , Etiket
Açıklama Kullanıcı gruplarından dahili gruplara veya grup listelerine dayalı olarak belirli sayfalara erişimin kısıtlanmasına izin verir
Yazar(lar) Aleš Kapica (Wantmesaj)
En son sürüm 6.0 (2023-03-01)
Uyumluluk politikası Master, geriye dönük uyumluluğu korur.
MediaWiki 1.34+
PHP 7.4+
Veritabanı değişiklikleri Hayır
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek Support DCEwiki or Thewoodcraft.org
  • $wgAdminCanReadAll
  • $wgAccessToHistory
  • $wgAccessControlRedirect
  • $wgAccessControlMeta
  • $wgAccessControlNamespaces
‎<accesscontrol> (not need anymore)
Quarterly downloads 47 (Ranked 98th)
Translatewiki.net adresinde mevcutsa, AccessControl uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

AccessControl uzantısı, dahili gruplara veya grup listelerine dayalı olarak belirli sayfalara kullanıcı alanından erişimi kısıtlar.

MediaWiki varsayılan durumunda bir İçerik Yönetim Sistemi (CMS) olarak tasarlanmamıştır, ancak kurumsal veya okul interneti olarak kullanıldığında hassas verilerin korunması gerekir. AccessControl bu amaç için geliştirilmiştir. AccessControl has been developed for this purpose.

Bu uzantı site güvenliği gereksinimlerini nasıl karşılıyor

  Uyarı: MediaWiki'nin son kararlı sürümünü kullanmanız önerilir, çünkü MediaWiki'nin eski sürümleri farklı yöntemlerle atlanabilir!
Atom/RSS beslemeleri, fark ve düzeltme bağlantıları
Sayfa içeriği korunur, ancak geçmişten bir sayfa açıldığında bir ham içerik görünür. <accesscontrol> etiketi en başa yerleştirildiyse, potansiyel bir saldırgan katkıda bulunan kullanıcıların adlarını görebilir!
Listeler ve arama
Aksi belirtilmedikçe, arama sonuçlarında korumalı içeriğe sahip herhangi bir sayfa varsa, kullanıcı yönlendirilir. Uzantı 2.5 sürümünden beri, aramaya da izin verilebilir. Ancak, görüntülenen arama sonuçlarının hassas verilerden ödün verebileceği akılda tutulmalıdır. Bu nedenle, bir erişim kontrolü ile korunan sayfaların içeriğinde arama yapılmasına izin verilirse, tam metin araması yoluyla elde edilebilecek, viki gibi parola gibi hassas bilgileri yazmayın!
Ekleme/dönüştürme, ilgili haklar ve diğer uzantılar
<accesscontrol> etiketini içeren veya <accesscontrol> etiketi tarafından korunan başka bir sayfa içeren sayfalar güvenlidir. <accesscontrol> etiketi, HTML dönüşümünden önce ham vikimetinde işlenir. Erişim kontrolü ile korunan sayfalara izin verilir!
  Uyarı: Extension:DynamicPageList (third-party) kullanırken, ayrıştırıcı vikimetini analiz etmeden önce bu uzantının içerik sayfalarından seçildiğini bilmelisiniz. Oluşturulan sayfaların bir <accesscontrol> etiketi ile korunması, yeni sayfanın içeriğine dahil edilen etikete bağlıdır.
Yönlendirmeler
Yeniden yönlendirme sorunu sürüm 1.1'de onarıldı
API ve eylem bağlantıları
Her anonim kullanıcı için, korumasız sayfaların görünüm özelliğinin yanı sıra, eylem sınıfı otomatik olarak false değerine ayarlanır. Yetkili kullanıcılar için izin verilen eylemler, MediaWiki'nin izin ayarlarına ve erişim listesi sayfalarında listelenen kullanıcı adına bağlıdır.
Bölümü ve izleme sayfalarını düzenle
Seçenekler yalnızca kayıtlı kullanıcılar giriş yapmışsa ve güvenlik erişim listesindeyse kullanılabilir.
Dosyalar ve resimler
  Uyarı: AccessControl uzantısı, dosyaları URL yoluyla doğrudan erişime karşı korumaz! Dosyalar herkese açık olarak kullanılamıyorsa, sunucu düzeyinde korunmaları gerekir!
XML aktarımı (Special:Export)
Uyarı: AccessControl sürüm < 2.0, sayfaları ham koda vermeden önce MediaWiki tarafından korunmayan bir kancaya dayanıyordu. Bu nedenle, AccessControl < 2.0 sürümünü kullanıyorsanız, sayfaların MediaWiki'den dışa aktarılmasını yasaklamak için özel sayfayı yasaklamanız gerekir. Therefore, if you use AccessControl version < 2.0, you must prohibit the special page to prohibit exporting the pages from MediaWiki.
Yazar arka kapı
AccessControl uzantısı arka kapısı yok!
Önbellek
Önbelleği kapatmanızı öneririm. Önceki paragraflara bakınız.

Güvenlikle ilgili olası sorunlar hakkında daha fazla bilgi Yetkilendirme uzantılarıyla ilgili güvenlik sorunları sayfada.

Özellikler

Sürüm 2.1'den bu yana, uzantı gömülü sayfayı veya şablonu da inceler.
  • Kurulumu kolay ve kullanımı basit.
  • MediaWiki çekirdeğinde yama yok.
  • Sınırsız grup.
  • Çift modlu erişim kontrolü:
    • Kontrolü görünüm.
    • URL'de action=edit kullanılırken el düzenleme erişimiyle ilgili kısıtlamalar da dahil olmak üzere düzenleme kontrolü.
  • Kullanıcı grupları herhangi bir ad alanını kullanabilir.
    • Grup listelerine sahip ad alanları başka bir uzantı tarafından korunabilir.
  • MediaWiki hizmetli grubu, korunan sayfaları görüntüleyebilir ve düzenleyebilir.
    • $wgAdminCanReadAll uzantı değişkeni tarafından kontrol edilir
  • Birden fazla gruba erişim izni verilebilir
  • Hem gruplara hem de bireysel kullanıcılara salt okunur erişim verilebilir.

See how this extension meets the requirements for site security.

Belgelendirme

Kılavuz (şimdilik Çek dilinde) burada viki sayfası olarak, ancak çeviri için hazırlanmıştır. Bir İngilizce sürüm oluşturmaya katkıda bulunmak istiyorsanız, ticari bir çevirmene ödeme yapmak için herhangi bir para bağışlamalısınız, çünkü yazarın bunun için zamanı ve becerisi yoktur. Kılavuz sayfası (şimdilik yalnızca Çekçe sürümü) kaynak kodunun bir parçasıdır ve isterseniz özel MediaWiki örneğinize aktarılabilir. If you want to contribute to creating an English version, you must donate any amount of money to pay for a commercial translator, because the author does not have the time and skills for it. The man page (for now only Czech version) is part of the source code, and can be imported into your private MediaWiki instance if you want.

Kurulum

1. Adım: Yerel Ayarlar Dosyası

  • First check that you have set these variables in the LocalSettings.php file. If not, set them:
$wgGroupPermissions['*']['read']            = true;
$wgGroupPermissions['*']['createaccount']   = false;
$wgGroupPermissions['*']['edit']            = false;
$wgGroupPermissions['*']['writeapi']        = false;
$wgGroupPermissions['*']['createpage']      = false;
$wgGroupPermissions['*']['createtalk']      = false;
  • LocalSettings.php dosyanızın altına aşağıdaki satırları ekleyin:
wfLoadExtension( 'AccessControl' );
Is recommend unavailable the Special pages, which may be used to compromitation the content of your wiki by anonymous bots or users. Read 'README' file, where is example protection code for LocalSettings.php
  Uyarı: Watch out for the $wgAccessControlRedirect variable! This is only for developers to get a view at the contents of the debug messages, if needed. In production must be value every false.

Step 2: Read manual

Version 6.0 supports the old syntax of this extension. New syntax based on template parameters is very sophisticated. But for base use we can still use the AccessList created by the old syntax, and protect pages by element accesscontrol.

Using

The new version has a new access rights setting system, based on template parameterization. If the parser encounters any of the following parameters while processing a template, it will call AccessControl to check if the user has access to the content.

isProtectedBy - list of user groups
readOnlyAllowedGroups - user groups with read-only access
editAllowedGroups - user groups with edit access
readOnlyAllowedUsers - list of users who can only read the content of the site
editAllowedUsers - a list of users with editing rights

Within a single template, all of the above parameters can be used at the same time, so the indentation indicates their hierarchical position in terms of rights. You will learn more in the description of each parameter, where examples will also be given.

editAllowedUsers

Using this parameter turns a regular template into a list of users. Each user whose name is specified in this parameter will have the right to edit the page into which the template with this parameter will be inserted. And also all pages that use it in the isProtectedBy parameter. If more than one user is specified, their usernames are separated by a comma.

Simple example self-protected page (i.e. 'MyPage') where is in code used 'Template:Warning':

{{Warning
| 1 = This page is protected
| editAllowedUsers = John Doe, Jane Doe
}}

I can be used to protection another page, if wikitext content use any template with the parameter 'isProtectedBy', where is as value name the self-protected page 'MyPage'. See example:


| isProtectedBy = MyPage

It can be (not must!) edited by Page Form.

Remember that MediaWiki uses transclusion. If anybody editor use this page, for tranclusion, may unavailabeled more pages in site! AccessControl is for using where is action 'edit' only for verified users allowed. Extensions ConfirmAccount and ConfirmEdit (CAPTCHA) recommend.

Using of the old syntax

First create User Groups. It may be any page stored in the main namespace, only colon must be after first word in the name. User lists can be a page in the namespace titled "Department" Each username appears as a list item.

* John Doe
* Jane Doe (ro)
Sonunda "(ro)" ile listelenen kullanıcı adları yalnızca korumalı maddeyi okuyabilir, düzenleyemez. Diğer kullanıcı grupları için, başka bir ad alanında Department adıyla başka bir üye listesi oluşturabilirsiniz. Kullanıcı adının büyük harfle başlaması gerektiğini unutmayın!
Örnek etiket kodu
<accesscontrol>Administrators,IT:Department,Sales(ro)</accesscontrol>

Configuration

  • AccessControl.php'deki ayarları kontrol edin. Bunlar LocalSettings.php'de ayarlanabilir:

These can be set in LocalSettings.php:

$wgAdminCanReadAll = true;			// sysop users can read all restricted pages
  • Yerelleştirmeye bağlı olarak, vikinizin anonim veya yetkisiz kullanıcıların yönlendirileceği sayfalara ihtiyacı vardır. Bunları önceden oluşturmanız gerekir çünkü bazıları başka bir sayfadaki sayfalara erişemez.
  • Sayfanın güvenliği & lt;accesscontrol> etiketi ile sağlanır. Bir etiket yoksa veya sayfa boşsa, sayfayı okuyabilen ve düzenleyebilen oturum açmış kullanıcılar için serbestçe erişilebilir. Oturum açmış veya anonim hiçbir kullanıcının salt okunur erişimi olmayacaktır.
  • <accesscontrol> etiketinde listelenen grupların üyeleri, yalnızca grup başlığı "(ro)" ile listelenmemişse ve grup üye listesinde salt okunur erişim ayarlarına sahip değilse sayfayı düzenleyebilir.
  • Varsayılan olarak $wgAdminCanReadAll değişkeni, sysop üyelerinin herhangi bir ad alanındaki kullanıcı grubu sayfalarını düzenleyebilmesi için true olarak ayarlanmıştır.
  Uyarı: "false" olarak ayarlandığında, "sysop" üyeleri & lt;accesscontrol> etiketi ile korunan sayfaları okuyamaz ve düzenleyemez, bu da büyük sorunlara yol açabilir. Bu sadece kod seviyesinde düzeltilebilir. This can only be remedied on the code level.

Dikkat

For version < 4.1

MediaWiki sürümleri:
1.29 – 1.36

If for some reason you cannot upgrade your MediaWiki to version 1.39 LTS, you can continue to use version 4.1 of the form-support branch. If you have a problem with the update, because any problem occurred and blocked your actualization, write in the discussion. MediaWiki is very complexity software, and sometime a little bug may be as big problem for admins without the programming experiences.

4.0 uzantısının ayrı form-support dalındaki yeni sürümü Uzantı:Sayfa Formları ile kullanılmak üzere geliştirildi. Erişim listesi olarak herhangi bir şablonu kullanabilirsiniz, ancak erişim listelerinin eski sözdizimi desteklenir. $2 ile kullanım değişiklikleri de uygulandı.

Changes for using with the VisualEditor was implemented too.

Git'ten kod alabilirsiniz:

git clone -b form-support https://gerrit.wikimedia.org/r/p/mediawiki/extensions/AccessControl.git
  Uyarı: Sürüm 3.x eskidir ve yükseltme önerilir, çünkü bu sürümler kodu kaydetmeden önce şablonun kendisinde olup olmadığını kontrol etmez. MediaWiki buna izin veriyor, ancak sonuç döngü ve erişilemeyen sayfa. Bunun tek çözümü, AccessControl uzantısını devre dışı bırakmak, sorunlu kodu sayfadan kaldırmak ve ondan sonra tekrar etkinleştirmektir. MediaWiki allows it, but the result is a looped and inaccessible page. The only solution for this is to disable the AccessControl extension, remove the problematic code from the page, and then reenable.

If your MediaWiki Version ≥ 2.6 isn't recommend for use, because have not support of the maintainer.

MediaWiki sürümleri:
1.21 – 1.28

Sürüm 2.5.1'in kullanılması şiddetle tavsiye edilir.

< 2.3 sürümü için

  • fromTemplate() işlevinde AccessControl'ün eklenen sayfalardaki veya şablonlardaki etiketleri yoksaymasına neden olan bir sorun oluştu. Gerçekleştirme tavsiye edilir!

≥ 2.0 sürümü için

MediaWiki sürümleri:
1.18 – 1.20
  Uyarı: 2.0 sürümünden itibaren, uzantı viki kullanıcı gruplarını ("sysop" dışında) kullanmaz, yalnızca kullanıcı erişim listeleri tarafından oluşturulan grupları kullanır!
  • Sayfaların yalnızca bir <accesscontrol> öğesi olabilir.
  • Kullanıcı birden fazla grubun üyesiyse, onlara daha fazla erişim sağlayan grubun olduğu varsayılır.
  • Bu uzantı, bir arama sonucu görüntülendiğinde çağrılan bir MediaWiki kancası kullanır. Bu, ACL'ye sahip bir sayfanın, korumalı bir sayfada bulunan metni arayan son kullanıcılar için bir "Erişim Reddedildi" mesajını tetikleyeceği anlamına gelir. Basit bir çözüm, AccessControl gerektiren sayfaları başka bir ad alanına koymak ve ardından bu ad alanını aramayı devre dışı bırakmaktır. Bu gerçekten bir hata olmasa da, istenmeyen bir davranıştır. Çözümü gösteren bir örnek için buraya tıklayın.

This means that a page that has an ACL will trigger an "Access Denied" message for end users who happen to search for text contained in a protected page. A simple solution is to put pages that require AccessControl into another namespace and then disable searching for that namespace. Although this isn't really a bug, it is undesirable behavior. Click here for an example showing a work around.

  Uyarı: MediaWiki >= 1.21 yeni bir çerçeve ContentHandler içerir ve uzantı sürümü 2.1 kullanılamaz. MediaWiki 1.21 ve üzeri için güncellenen AccessControl sürüm 2.2'yi kullanın.

≤ 1.3 sürümü için

MediaWiki sürümü:
1.17
  • MediaWiki'deki gruplar yerelleştirilmiş biçimde olmamalıdır! sysop, Správce vb. olamaz.
  • Bir sayfanın birden çok <accesscontrol> öğesi olabilir ve erişim herhangi bir etiketteki gruplardan kabul edilebilir.
  • Anonim kullanıcıların <accesscontrol> öğeleriyle korunan sayfalara erişimi yoktur.
  • $wgAdminCanReadAll değişkeni doğruysa, hizmetliler her zaman düzenleme erişimine sahiptir.

MediaWiki Sürüm Testi

Version 6.0 (based on branch form-support) was actualized and tested on MediaWiki 1.39.2 the current stable release of long-term support (November 2026), and merged into master branch of git repository.
  • Git deposunun form-support dalından (bu sayfanın üst kısmındaki klon için bağlantıya bakın) 4.1 sürümü, uzun vadeli desteğin mevcut kararlı sürümü olan MediaWiki 1.35 üzerinde test edildi (Eylül 2023) This version is recommend for use on MediaWiki 1.29< 1.35

Tarihçe

Bu uzantının (1.x) ilk sürümü Group Based Access Control 'ne dayanıyordu, ancak orijinalde hatalar olmadan.[1]

  • Sürüm 4.0, eski (phab:T281848). Yükseltme önerilir.
  • Sürüm 3.0.1, MediaWiki 1.34.0 üzerinde test edildi, ancak artık kullanılmıyor. Yükseltme önerilir.
  • 2.5.1 sürümü MediaWiki 1.33.0-alpha (5eb97ec) sürümünde test edildi
  • 2.6 sürümü MediaWiki 1.27.0-rc.0 (57f722a) sürümünde test edildi
  • 2.5 sürümü MediaWiki 1.27.0 sürümünde test edildi (Git deposundan)
  • Version 2.5 was tested on MediaWiki 1.22.9 (from git repository)
  • Version 2.3 was tested on MediaWiki 1.22.0 (from git repository)
  • Version 2.2 was tested on MediaWiki 1.22.0 (from git repository)
  • Version 2.0 was tested on MediaWiki 1.19-alpha (from SVN repository)
  • Version 1.2 was tested on MediaWiki 1.15.5-1 (from Debian repository)
  • Version 1.1 was tested on MediaWiki 1.16.0(b3). Works fine, except that it needed a minor change to line 358 of AccessControl.php (remove '&' from parameter to function controlEditAccess()). When viewing a page on a Linux server, the ‎<accesscontrol> tags show. But on a Windows server, the tags don't show and it is fine! Still haven't figured that one out, but it is ok for my application.
  • Version 1.1 was tested on MediaWiki 1.15
  • Version 1.0 of this extension has been tested and works fine on MediaWiki > 1.12.x.
  • Version 1.1 tested on MediaWiki 1.16.1 with new patch from http://git.felk.cvut.cz/pub/git?p=accesscontrol.git;a=commitdiff;h=2f678deed0e4e4f77620e391c94559c7b50102a9

Ayrıca bakınız

Notlar

  1. Group Based Access Control 'nün aksine, daha fazla erişim listesi kullanıldığında bir ‎<accesscontrol> etiketinin içeriğini bölmek için çift virgül kullanılmaz. Yalnızca bir virgül gereklidir. Ve element içeriğinin sonunda ",," ayırıcısını kullanmak gerekli değildir.