Pengaya:PenyaringPenyalahgunaan
Status keluaran: stabil |
|
|---|---|
| Penerapan | Kegiatan pengguna, Halaman istimewa, API |
| Deskripsi | Memungkinkan pembatasan berbasis perilaku tertentu untuk diterapkan pada kegiatan wiki |
| Perancang |
|
| Kebijakan kompatibilitas | Cuplikan dikeluarkan bersamaan dengan MediaWiki. Induk tidak kompatibel dengan versi sebelumnya. |
| Perubahan pangkalan data | Ya |
| Composer | mediawiki/abuse-filter |
|
|
|
|
|
|
|
|
| Licence | Lisensi Publik Umum GNU 2.0 atau lebih baru |
| Unduh | |
| Terjemahkan pengaya AbuseFilter jika tersedia di translatewiki.net | |
| Masalah | Tugas terbuka · Laporkan kekutu |
Pengaya PenyaringPenyalahgunaan memungkinkan pengguna dengan hak istimewa untuk menetapkan tindakan khusus yang akan diambil ketika tindakan pengguna, seperti suntingan, cocok dengan kriteria tertentu.
Sebagai contoh, suatu penyaring dapat dibuat untuk mencegah pengguna tak terdaftar menambahkan pranala luar, atau untuk melarang suntingan yang menghapus lebih dari 2000 huruf.
Pemasangan
- Unduh dan pindahkan folder
AbuseFilteryang diekstrak ke direktoriextensions/Anda.
Pengembang dan penyumbangsih kode sebaiknya memasang pengaya dari Git sebagai gantinya, menggunakan:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter
- Hanya ketika memasang dari Git, jalankan Composer untuk memasang ketergantungan PHP, dengan mengeluarkan perintah
composer install --no-devdi direktori pengaya. (Lihat T173141 untuk komplikasi yang mungkin terjadi.) - Tambahkan kode berikut di bawah berkas LocalSettings.php Anda:
wfLoadExtension( 'AbuseFilter' );
- Jalankan skrip pembaruan yang akan membuat tabel pangkalan data yang diperlukan pengaya ini secara otomatis.
- Konfigurasikan seperlunya.
Selesai – Telusuri ke Special:Version di wiki Anda untuk memastikan pengayanya berhasil dipasang.
Jadi, setelah pemasangan dari Git, ganti ke direktori yang berisi pengaya, misalnya "../extensions/AbuseFilter/", lalu jalankan composer install --no-dev, atau saat memperbarui: composer update --no-dev.
Alternatifnya, dan juga lebih disarankan, tambahkan baris "extensions/AbuseFilter/composer.json" ke berkas "composer.local.json" di direktori akar wiki Anda, misalnya macam ini:
{
"extra": {
"merge-plugin": {
"include": [
"extensions/AbuseFilter/composer.json"
]
}
}
}
Konfigurasi
Hak pengguna
Setelah Anda memasang pengaya, Anda harus mengatur hak pengguna di "LocalSettings.php".
| Hak | Keterangan | Catatan | Kelompok-kelompok pengguna yang mempunyai hak ini secara bawaan | Versions |
|---|---|---|---|---|
| abusefilter-modify | Membuat atau memodifikasi filter penyalahgunaan | Memerlukan hak abusefilter-view
|
sysop | 1.19+ |
| abusefilter-view | Menampilkan filter penyalahgunaan | * | 1.19+ | |
| abusefilter-log | Menampilkan catatan penyalahgunaan | * | 1.19+ | |
| abusefilter-log-detail | Menampilkan entri catatan penyalahgunaan secara rinci | Memerlukan hak abusefilter-log
|
sysop | 1.19+ |
| abusefilter-privatedetails | Menampilkan data pribadi dalam catatan penyalahgunaan | Sebelum versi 1.34, hak ini bernama abusefilter-private - Memerlukan hak abusefilter-log-detail
|
— | 1.19+ |
| abusefilter-modify-restricted | Memodifikasi filter penyalahgunaan dengan tindakan terbatas | Memerlukan hak abusefilter-modify
|
sysop | 1.19+ |
| abusefilter-revert | Mengembalikan semua perubahan yang dilakukan oleh suatu filter penyalahgunaan yang ditentukan | sysop | 1.19+ | |
| abusefilter-view-private | Lihat filter penyalahgunaan yang ditandai sebagai non-publik | Memerlukan hak abusefilter-view (tak dibutuhkan jika kelompoknya sudah mempunyai hak abusefilter-modify)
|
sysop | 1.19+ |
| abusefilter-hide-log | Sembunyikan entri di dalam catatan penyalahgunaan | Memerlukan hak abusefilter-log
|
suppress | 1.19+ |
| abusefilter-hidden-log | Lihat entri log penyalahgunaan tersembunyi | Memerlukan hak abusefilter-log
|
suppress | 1.19+ |
| abusefilter-log-private | Lihat entri catatan filter penyalahgunaan yang ditandai pribadi | Memerlukan hak abusefilter-log (tak dibutuhkan jika kelompoknya sudah mempunyai hak abusefilter-modify)
|
sysop | 1.20+ |
| abusefilter-modify-global | Buat atau ubah filter penyalahgunaan global | Memerlukan hak abusefilter-modify
|
— | 1.21+ |
| abusefilter-privatedetails-log | Lihat log akses rincian pribadi Log Penyalahgunaan | Sebelum versi 1.34, hak ini bernama abusefilter-private-log
|
— | 1.31+ |
| abusefilter-modify-blocked-external-domains | Buat atau ubah domain eksternal apa yang diblokir agar tidak ditautkan | sysop | 1.41+ | |
| abusefilter-bypass-blocked-external-domains | Abaikan domain eksternal yang diblokir | Memerlukan hak edit
|
bot | 1.41+ |
| abusefilter-access-protected-vars | View and create filters that use protected variables | sysop | 1.43+ | |
| abusefilter-protected-vars-log | Lihat log yang terkait dengan akses ke nilai variabel yang dilindungi | sysop | 1.43+ |
Sebagai contoh, konfigurasi sampel berikut akan memungkinkan pengurus sistem untuk melakukan semua yang mereka inginkan dengan PenyaringPenyalahgunaan, dan semua orang dapat melihat log dan pengaturan penyaring publik:
$wgGroupPermissions['sysop']['abusefilter-modify'] = true;
$wgGroupPermissions['*']['abusefilter-log-detail'] = true;
$wgGroupPermissions['*']['abusefilter-view'] = true;
$wgGroupPermissions['*']['abusefilter-log'] = true;
$wgGroupPermissions['sysop']['abusefilter-privatedetails'] = true;
$wgGroupPermissions['sysop']['abusefilter-modify-restricted'] = true;
$wgGroupPermissions['sysop']['abusefilter-revert'] = true;
$wgGroupPermissions['sysop']['abusefilter-access-protected-vars'] = true;
$wgGroupPermissions['sysop']['abusefilter-protected-vars-log'] = true;
abusefilter-access-protected-vars. Log yang berkaitan dengan penyaring-penyaring ini hanya dapat dilihat oleh pengguna dengan izin abusefilter-protected-vars-log. Untuk informasi selengkapnya, lihat Format aturansuppressrevision. Penyaring-penyaring ini hanya dapat dilihat dan diubah oleh pengguna dengan izin viewsuppressed, dan semua log penyalahgunaan yang mereka buat diperlakukan sebagai otomatis disembunyikan.
Parameter
| Nama peubah | Nilai bawaan | Keterangan |
|---|---|---|
$wgAbuseFilterActions
|
[
'throttle' => true,
'warn' => true,
'disallow' => true,
'blockautopromote' => true,
'block' => true,
'rangeblock' => false,
'degroup' => false,
'tag' => true
]
|
Tindakan yang mungkin dilakukan oleh penyaring penyalahgunaan. Saat menambahkan tindakan baru, periksa apakah tindakan tersebut dibatasi di $wgAbuseFilterActionRestrictions dan, jika iya, jangan lupa tambahkan hak abusefilter-modify-restricted ke kelompok pengguna yang sesuai.
|
$wgAbuseFilterConditionLimit
|
1000
|
Jumlah maksimum 'kondisi' yang dapat digunakan tiap kali penyaring dijalankan terhadap suatu perubahan. (Penyaring yang lebih kompleks memerlukan lebih banyak 'kondisi'). |
$wgAbuseFilterValidGroups
|
[
'default'
]
|
Daftar penyaring "kelompok" dapat dibagi menjadi beberapa bagian. Secara bawaan hanya ada satu kelompok. Pengaya lain mungkin menambahkan kelompok lain. |
$wgAbuseFilterEmergencyDisableThreshold
|
[
'default' => 0.05
]
|
Matikan penyaring jika penyaring tersebut cocok dengan lebih dari 2 suntingan, yang merupakan lebih dari 5% dari tindakan yang diperiksa terhadap kelompok penyaring dalam periode "teramati" (paling lama satu hari), dan penyaring tersebut telah diubah dalam 86400 detik terakhir (satu hari). Lihat pelambatan darurat. |
$wgAbuseFilterEmergencyDisableCount
|
[
'default' => 2
]
| |
$wgAbuseFilterEmergencyDisableAge
|
[
'default' => 86400
]
| |
$wgAbuseFilterActionRestrictions
|
[
"throttle" => false,
"warn" => false,
"disallow" => false,
"blockautopromote" => true,
"block" => true,
"rangeblock" => true,
"degroup" => true,
"tag" => false
]
|
Seorang pengguna harus mempunyai hak pengguna "abusefilter-modify-restricted" serta "abusefilter-modify" agar dapat membuat atau mengubah penyaring yang melakukan tindakan-tindakan ini. |
$wgAbuseFilterNotifications
|
false
|
Memungkinkan konfigurasi pengaya untuk mengirim pemberitahuan hit ke Special:RecentChanges atau UDP. Pilihan yang tersedia: rc, udp, rcandudp
Untuk mengirim perubahan pada penyaring penyalahgunaan ke Special:RecentChanges, gunakan
$wgExtensionFunctions[] = static function () { global $wgLogRestrictions; unset( $wgLogRestrictions['abusefilter'] ); };. |
$wgAbuseFilterNotificationsPrivate
|
false
|
Memungkinkan pemberitahuan untuk penyaring pribadi. |
$wgAbuseFilterCentralDB
|
null
|
MW 1.41+ Nama pangkalan data tempat penyaring penyalahgunaan global akan disimpan. Memerlukan CentralAuth terpasang, jika tidak, penyaring global akan rusak di wikifarm. |
$wgAbuseFilterIsCentral
|
false
|
MW 1.41+ Atur peubah ini menjadi true untuk wiki tempat PenyaringPenyalahgunaan global disimpan. Memerlukan CentralAuth terpasang, jika tidak, penyaring global akan rusak di wikifarm. |
$wgAbuseFilterLocallyDisabledGlobalActions
|
[
"throttle" => false,
"warn" => false,
"disallow" => false,
"blockautopromote" => false,
"block" => false,
"rangeblock" => false,
"degroup" => false,
"tag" => false
]
|
Melarang penyaring terpusat untuk mengambil tindakan yang diatur sebagai true dalam peubah ini. |
$wgAbuseFilterBlockDuration
|
'indefinite'
|
Durasi pemblokiran yang dilakukan oleh PenyaringPenyalahgunaan.
mulai versi 1.31.0-wmf.25, durasi pemblokiran dapat ditentukan untuk setiap penyaring dan akan menimpa peubah ini. Peubah ini hanya digunakan saat menyalakan pemblokiran untuk memilih durasi bawaan terlebih dahulu.
|
$wgAbuseFilterAnonBlockDuration
|
null
|
Durasi pemblokiran yang dibuat oleh PenyaringPenyalahgunaan pada pengguna yang tidak masuk log. Nilai $wgAbuseFilterBlockDuration akan digunakan jika ini tidak diatur.
mulai versi 1.31.0-wmf.25, durasi pemblokiran dapat ditentukan untuk setiap penyaring dan akan menimpa peubah ini. Peubah ini hanya digunakan saat menyalakan pemblokiran untuk memilih durasi bawaan terlebih dahulu.
|
$wgAbuseFilterBlockAutopromoteDuration
|
5
|
Durasi, dalam hari, di mana promosi diri pengguna diblokir oleh penyaring. |
$wgAbuseFilterDefaultWarningMessage
|
[
'default' => 'abusefilter-warning'
]
|
Pesan peringatan bawaan, per kelompok penyaring |
$wgAbuseFilterDefaultDisallowMessage
|
[
'default' => 'abusefilter-disallowed'
]
|
Pesan yang dilarang secara bawaan, per kelompok penyaring |
$wgAbuseFilterLogIP
|
true
|
Apakah akan menyertakan IP dalam abuse_filter_log |
$wgAbuseFilterLogIPMaxAge
|
3 * 30 * 24 * 3600
|
Usia yang digunakan sebagai batas waktu saat menghapus data log IP lama. Nilai bawaan adalah 3 bulan. Digunakan oleh skrip pemeliharaan purgeOldLogIPData.php. |
$wgAbuseFilterProfileActionsCap
|
10000
|
Jumlah tindakan yang menentukan kapan statistik profil harus diatur ulang. |
$wgAbuseFilterLogPrivateDetailsAccess
|
false
|
Apakah akses ke informasi pribadi dari entri log penyaring dicatat. |
$wgAbuseFilterPrivateDetailsForceReason
|
false
|
Apakah pengguna dipaksa untuk memberikan alasan untuk mengakses informasi pribadi dari entri log penyaring. |
$wgAbuseFilterSlowFilterRuntimeLimit
|
500
|
Masa berjalan dalam milidetik sebelum sebuah pengaya dianggap lambat. |
$wgAbuseFilterRangeBlockSize
|
[
'IPv4' => '16',
'IPv6' => '19',
]
|
Ukuran rentang yang diblokir oleh tindakan 'rangeblock'. |
$wgAbuseFilterProtectedVariables
|
[ "user_unnamed_ip" ]
|
Larik peubah yang dianggap terlindung (akses terbatas) dan memerlukan hak abusefilter-access-protected-vars untuk digunakan/dilihat.
|
Pelambatan darurat
PenyaringPenyalahgunaan dilengkapi dengan fitur yang secara otomatis melambatkan (mematikan) penyaring yang baru saja disunting dan sesuai dengan ambang batas tertentu dari tindakan terbaru.
Ini dilakukan untuk mencegah suntingan berbahaya pada penyaring yang memblokir setiap pengguna yang melakukan suatu tindakan di wiki atau yang serupa.
Kondisi untuk mematikan penyaring bergantung pada peubah-peubah berikut:
$wgAbuseFilterEmergencyDisableThreshold– Persentase kecocokan terhadap jumlah total tindakan dalam periode teramati.$wgAbuseFilterEmergencyDisableCount– Jumlah kecocokan penyaring dalam periode teramati.$wgAbuseFilterEmergencyDisableAge– Usia penyaring akan diperhitungkan. Jika suntingan terakhir penyaring lebih lama dari jumlah detik ini, penyaring tak akan dilambatkan, kecuali jika sudah dilambatkan.
Penyaring yang dilambatkan dapat diidentifikasi dalam daftar penyaring (Special:AbuseFilter) dengan keadaan Diaktifkan, Tingkat kecocokan tinggi. Pelambatan terjadi secara diam-diam, dan tidak ada cara untuk melihat kapan sebuah penyaring dilambatkam, kecuali saat Extension:Echo dipasang, kemudian pemberitahuan dikirim ke pengguna yang terakhir mengubah penyaring tersebut.
Ketika sebuah penyaring dilambatkan, penyaring tersebut tidak melakukan tindakan berbahaya apa pun (tindakan yang biasanya dibatasi untuk hak istimewa seperti memblokir pengguna, atau menghapusnya dari kelompok, yang dikendalikan oleh $wgAbuseFilterActionRestrictions), dan hanya tindakan "aman" yang diizinkan (tindakan yang dapat memperingatkan atau mencegah tindakan yang sedang berlangsung). Penyaring yang dilambatkan tidak dinyalakan secara otomatis. Untuk mematikan pelambatan, Anda perlu menyunting penyaring tersebut. Perhatikan bahwa Anda perlu mengubah sesuatu dari penyaring: mengubah sesuatu dari catatan penyaring sudah cukup.
Perhatikan bahwa penyuntingan penyaring akan memperbarui usianya, dan dapat menyebabkannya dimatikan jika kembali memenuhi kondisi untuk dilambatkan dalam waktu singkat sejak suntingan terakhir, sehingga penyaring menjadi tidak dapat digunakan jika wiki Anda mempunyai lebih banyak suntingan yang melanggar daripada suntingan sah.
Membuat dan mengelola penyaring
Setelah pengaya terpasang, penyaring dapat dibuat/diuji/diubah/dihapus dan log-lognya dapat diakses dari halaman pengelolaan Penyaring penyalahgunaan Special:AbuseFilter.
- Rules format – * Format aturan – Dasar-dasar cara menulis penyaring
- [[Special:MyLanguage/Extension:AbuseFilter/Actions|* Tindakan]]
- Access flags
- [[Special:MyLanguage/Extension:AbuseFilter/Global|* Aturan Global]]
- [[Special:MyLanguage/Extension:AbuseFilter/Conditions|* Panduan untuk mengoptimalkan penggunaan batas kondisi]]
- Untuk mengimpor sebuah penyaring dari Wikipedia (misal Wikipedia bahasa Inggris): Setelah Anda memasang pengaya, buka w:Special:AbuseFilter, pilih penyaring (misalnya w:Special:AbuseFilter/3), lalu klik "Export this filter to another wiki", salin teksnya, buka
Special:AbuseFilter/importdi wiki Anda, tempel teks tersebut. - m:Small wiki toolkits/Starter kit/AbuseFilter – Panduan untuk komunitas wiki kecil di MetaWiki
API
PenyaringPenyalahgunaan menambahkan dua modul daftar API, satu untuk rincian penyaring penyalahgunaan ("abusefilters") dan satu untuk log penyalahgunaan, karena terpisah dari log MediaWiki lainnya ("abuselog"). Tidak dimungkinkan untuk membuat atau mengubah penyaring penyalahgunaan menggunakan API.
list=abusefilters (abf)
Mencantumkan informasi tentang penyaring
- Parameter
abfstartid– ID penyaring untuk memulai enumerasi dariabfendid– ID penyaring untuk menghentikan enumerasi padaabfdir– Arah untuk mengenumerasi: older, newerabfshow– Menampilkan hanya penyaring yang memenuhi kriteria ini: enabled|!enabled|deleted|!deleted|private|!private|protected|!protectedabflimit– Jumlah maksimum penyaring yang akan dicantumkanabfprop– Properti mana untuk didapatkan: id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private|protected|suppressed
Ketika penyaring bersifat pribadi, beberapa properti yang ditentukan dengan abfprop akan hilang kecuali Anda mempunyai hak pengguna yang sesuai.
- Contoh
| Result |
|---|
{
"batchcomplete": "",
"continue": {
"abfstartid": 18,
"continue": "-||"
},
"query": {
"abusefilters": [
{
"id": 1,
"hits": 41430
},
{
"id": 3,
"hits": 957485
},
{
"id": 5,
"hits": 5931
},
{
"id": 6,
"hits": 19
},
{
"id": 8,
"hits": 7
},
{
"id": 9,
"hits": 41354
},
{
"id": 11,
"hits": 132971
},
{
"id": 12,
"hits": 139693
},
{
"id": 14,
"hits": 63
},
{
"id": 15,
"hits": 15
}
]
}
}
|
list=abuselog (afl)
Mencantumkan wujud-wujud (instances) di mana tindakan memicu penyaring penyalahgunaan.
- Parameter
afllogid– ID log bilangan bulat tunggal untuk dicantumkan.aflstart– Cap waktu untuk memulai enumerasi dariaflend– Cap waktu untuk menghentikan enumerasi padaafldir– Arah untuk mengenumerasi (lebih lama, lebih baru)afluser– Menampilkan hanya entri di mana tindakan tersebut dicoba oleh pengguna atau alamat IP tertentu.afltitle– Menampilkan hanya entri yang tindakannya melibatkan halaman tertentu.aflfilter– Menampilkan hanya entri yang memicu ID filter tertentu.afllimit– Jumlah entri maksimum yang dapat dicantumkanaflprop– Properti mana untuk didapatkan: (ids|filter|user|title|action|details|result|timestamp|hidden|revid|wiki)aflprop=wikihanya diakui di wiki-wiki pusat.
- Contoh
| Result |
|---|
{
"batchcomplete": "",
"continue": {
"aflstart": "2018-03-06T02:34:18Z",
"continue": "-||"
},
"query": {
"abuselog": [
{
"id": 27219261,
"filter_id": "1073"
},
{
"id": 26938051,
"filter_id": ""
},
{
"id": 23388942,
"filter_id": "1"
},
{
"id": 22044912,
"filter_id": ""
},
{
"id": 22032235,
"filter_id": ""
},
{
"id": 22032196,
"filter_id": ""
},
{
"id": 21983882,
"filter_id": ""
},
{
"id": 20594818,
"filter_id": "904"
},
{
"id": 20593489,
"filter_id": "904"
},
{
"id": 20590442,
"filter_id": "904"
}
]
}
}
|
Kemungkinan galat
- Beberapa pengguna mungkin mengalami kegagalan saat membuat penyaring baru atau mengubah filter lama, dan pengguna hanya dialihkan ke halaman semula. Jika Wiki menggunakan sertifikat SSL, galat ini mungkin disebabkan oleh nilai
$wgServer, yang mungkin menggunakan "http://" alih-alih "https://". Salah satu pertanda galat ini adalah peramban akan menampilkan peringatan https untuk halaman Special:AbuseFilter. ($2) (Project:Support desk/Flow/2016/04#h-response?-2016-04-14T15:54:00.000Z)
Pemaduan dengan pengaya lain
Anda dapat memadukan PenyaringPenyalahgunaan dengan pengaya lain dalam berbagai cara.
Menambahkan peubah untuk penyaringan
Dimungkinkan untuk menambahkan peubah baru, yang akan digunakan dalam penyaring penyalahgunaan. Daftar contoh untuk ini {{$1|tersedia}}. Untuk melakukan itu, Anda harus:
A list of examples is available. To do that, you should:
- Tambahkan penangan untuk pengait AbuseFilter-builder. Untuk menambahkan peubah, Anda harus menggunakan
$builder['vars']['variable_name'] = 'i18n-key';, di manavariable_nameadalah nama peubah, dani18n-keyadalah fragmen dari kunci i18n. Kunci lengkapnya akan berupaabusefilter-edit-builder-vars-{$your_key}. - Tambahkan pesan i18n yang Anda pilih pada poin sebelumnya.
- Pilih penangan kail tempat peubah akan dihitung. Tergantung pada kasus penggunaan Anda, Anda dapat:
- Menerapkan kail AbuseFilter-generateTitleVars; ini dirancang khusus untuk peubah terkait halaman;
- Menerapkan kail AbuseFilter-generateUserVars; ini dirancang khusus untuk peubah terkait pengguna;
- Menerapkan kail AbuseFilter-generateGenericVars; ini untuk peubah yang tidak terikat pada halaman atau pengguna tertentu;
- Terapkan kail AbuseFilterAlterVariables; ini sedikit lebih luwes daripada kail lainnya, tetapi punya kelemahan: peubah Anda tidak akan tersedia saat memeriksa entri PerubahanTerbaru yang lalu. Jika Anda ingin menerapkan fitur itu (dan disarankan untuk melakukannya), Anda harus menggunakan salah satu kail yang tercantum di atas, dan menggunakan parameter ketiganya (
$RCRow).
- Di dalam penangan kail, ada dua cara untuk menambahkan peubah:
- Cara "langsung"nya adalah dengan memanggil
$vars->setVar( 'var_name', var_value );. Ini ideal hanya jika nilainya mudah dan cepat dikomputasi: nilai tersebut dihitung bahkan jika tak ada penyaring aktif yang akan menggunakannya. - Cara "malas"nya adalah dengan memanggil
$vars->setLazyLoadVar( 'var_name', 'method_name', $params );. Di sini, 'method_name' adalah pengidentifikasi (unik) yang akan digunakan untuk menghitung peubah (disarankan untuk mengimbuhkannya dengan nama pengaya Anda di depan). Untuk mendaftarkan metode tersebut, Anda harus menambahkan penangan untuk kail AbuseFilter-computeVariable; di dalamnya, Anda harus memeriksa apakah $method yang dilewatkan cocok dengan 'method_name' Anda, dan jika ya, hitung peubah tersebut. Terakhir, $params adalah larik parameter yang akan Anda butuhkan untuk menghitung peubah; parameter ini diteruskan ke penangan kail computeVariable. Sebagai contoh, Anda dapat melihatglobal_user_groupsmilik CentralAuth.
- Cara "langsung"nya adalah dengan memanggil
Menambahkan tindakan kustom
Anda dapat menambahkan penangan tindakan khusus, sehingga masing-masing penyaring dapat melakukan tindakan lebih lanjut. Untuk melakukan itu, pilih nama untuk tindakan tersebut ('tindakan-saya' mulai sekarang), lalu:
- Buatlah sebuah kelas bernama misalnya MyAction, yang harus memperluas \MediaWiki\Extension\AbuseFilter\Consequence, yang juga dapat menerapkan HookAborterConsequence atau ConsequencesDisablerConsequence.
- Tambahkan pelanggan ke kail AbuseFilterCustomActions; pelanggan tersebut harus menyediakan panggilan balik seperti yang didokumentasikan dalam dokumentasi kail tersebut, yang mengembalikan wujud (instance) dari kelas yang dibuat di atas, misalnya:
class MyAction extends \MediaWiki\Extension\AbuseFilter\Consequence {
public function run() {
throw new \Exception( 'Write me' );
}
}
public function onAbuseFilterCustomActions( &$actions ) {
$actions[] = function ( \MediaWiki\Extension\AbuseFilter\Consequence\Parameters $params, array $rawParams ) : MyConsequence {
return new MyAction( $params, $rawParams );
};
}
Kemudian Anda harus menambahkan pesan i18n berikut; Anda dapat mengganti 'my_action' dengan misalnya 'block' untuk melihat untuk apa pesan tersebut:
'abusefilter-edit-action-${my_action}''abusefilter-action-${my_action}'
Menambahkan kelompok aturan
Anda juga dapat menambahkan kelompok aturan tambahan, yang dapat digunakan untuk mengelompokkan penyaring penyalahgunaan yang sudah ada. Perhatikan bahwa, saat ini, tiap penyaring hanya dapat berada dalam satu kelompok (T116642). Saat ini, satu-satunya konsumen yang diketahui dari fitur ini adalah Pengaya:PerbincanganTerstruktur. Untuk melakukan itu, Anda harus:
- Menambahkan nama kelompok ke
$wgAbuseFilterValidGroups. - Menambahkan beberapa kode untuk menjalankan penyaring dengan kelompok Anda. Perhatikan bahwa PenyaringPenyalahgunaan tidak akan melakukannya sendiri. Untuk melakukan itu, Anda harus membuat objek
AbuseFilterRunner, dengan meneruskan nama kelompok Anda.
Lihat pula
- Help:BlockedExternalDomains
- Beberapa wiki milik Yayasan Wikimedia tempat pengaya ini dinyalakan (dan dengan konfigurasi apa)
| Pengaya ini sedang digunakan di salah satu atau lebih proyek Wikimedia. Ini kemungkinan berarti pengaya ini stabil dan bekerja cukup baik untuk digunakan oleh situs web berlalu lintas tinggi. Cari nama pengaya ini di berkas konfigurasi CommonSettings.php dan InitialiseSettings.php Wikimedia untuk melihat di mana ia dipasang. Daftar lengkap pengayakulit yang dipasang di suatu wiki bisa dilihat di halaman Special:Version wiki. |
| Pengaya ini disertakan di wiki farm/hos dan/atau paket berikut: |
- Stable extensions/id
- User activity extensions/id
- Special page extensions/id
- API extensions/id
- Extensions supporting Composer/id
- ChangeTagsListActive extensions/id
- CheckUserInsertChangesRow extensions/id
- CheckUserInsertLogEventRow extensions/id
- CheckUserInsertPrivateEventRow extensions/id
- ContributionsToolLinks extensions/id
- EditFilterMergedContent extensions/id
- GetAutoPromoteGroups extensions/id
- HistoryPageToolLinks extensions/id
- HtmlPageLinkRendererEnd extensions/id
- JsonValidateSave extensions/id
- ListDefinedTags extensions/id
- LoadExtensionSchemaUpdates extensions/id
- PageDelete extensions/id
- ParserOutputStashForEdit extensions/id
- RecentChange save extensions/id
- ResourceLoaderRegisterModules extensions/id
- TitleMove extensions/id
- UndeletePageToolLinks extensions/id
- UploadStashFile extensions/id
- UploadVerifyUpload extensions/id
- UserMergeAccountFields extensions/id
- GetUserPermissionsErrors extensions/id
- GPL licensed extensions/id
- Extensions in Wikimedia version control/id
- All extensions/id
- Extensions bundled with MediaWiki 1.38/id
- Extensions requiring Composer with git/id
- Extensions used on Wikimedia/id
- Extensions included in Canasta/id
- Extensions available as Debian packages/id
- Extensions included in Fandom/id
- Extensions included in Miraheze/id
- Extensions included in MyWikis/id
- Extensions included in ProWiki/id
- Extensions included in ShoutWiki/id
- Extensions included in Telepedia/id
- Extensions included in wiki.gg/id
- Spam management extensions/id
