Extension:AbuseFilter/th

This extension comes with MediaWiki 1.38 and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.
Category:Extensions bundled with MediaWiki 1.38/th Category:GPL licensed extensions/th
MediaWiki extensions manual
AbuseFilter
Release status: stableCategory:Stable extensions/th
Implementation User activity Category:User activity extensions/th, Special page Category:Special page extensions/th, API Category:API extensions/th
Description อนุญาตให้วางข้อจำกัดตามพฤติกรรมเฉพาะในกิจกรรมวิกิ
Author(s)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
Database changes Yes
Composer mediawiki/abuse-filterCategory:Extensions supporting Composer/th
Tables abuse_filter
abuse_filter_action
abuse_filter_history
abuse_filter_log
License GNU General Public License 2.0 or later
Download Category:Extensions in Wikimedia version control/th
  • $wgAbuseFilterConditionLimit
  • $wgAbuseFilterRangeBlockSize
  • $wgAbuseFilterAnonBlockDuration
  • $wgAbuseFilterLogIPMaxAge
  • $wgAbuseFilterCentralDB
  • $wgAbuseFilterDefaultWarningMessage
  • $wgAbuseFilterEmergencyDisableAge
  • $wgAbuseFilterEnableBlockedExternalDomain
  • $wgAbuseFilterActionRestrictions
  • $wgAbuseFilterActions
  • $wgAbuseFilterProtectedVariables
  • $wgAbuseFilterLogIP
  • $wgAbuseFilterPrivateDetailsForceReason
  • $wgAbuseFilterEmergencyDisableCount
  • $wgAbuseFilterLogPrivateDetailsAccess
  • $wgAbuseFilterSlowFilterRuntimeLimit
  • $wgAbuseFilterEmergencyDisableThreshold
  • $wgAbuseFilterLocallyDisabledGlobalActions
  • $wgAbuseFilterBlockDuration
  • $wgAbuseFilterDefaultDisallowMessage
  • $wgAbuseFilterValidGroups
  • $wgAbuseFilterNotificationsPrivate
  • $wgAbuseFilterBlockAutopromoteDuration
  • $wgAbuseFilterIsCentral
  • $wgAbuseFilterNotifications
  • abusefilter-modify
  • abusefilter-log-detail
  • abusefilter-view
  • abusefilter-log
  • abusefilter-privatedetails
  • abusefilter-privatedetails-log
  • abusefilter-modify-restricted
  • abusefilter-revert
  • abusefilter-view-private
  • abusefilter-log-private
  • abusefilter-hidden-log
  • abusefilter-hide-log
  • abusefilter-modify-global
  • abusefilter-modify-blocked-external-domains
  • abusefilter-bypass-blocked-external-domains
  • abusefilter-access-protected-vars
  • abusefilter-protected-vars-log
Quarterly downloads 50 (Ranked 51st)
Public wikis using 2,939 (Ranked 186th)
Translate the AbuseFilter extension if it is available at translatewiki.net
Issues Open tasks · Report a bug
Category:All extensions/th

AbuseFilter

2020 Coolest Tool
Award Winner

in the category
Quality

ส่วนขยาย AbuseFilter ช่วยให้ผู้ใช้ที่ได้รับสิทธิ์สามารถตั้งค่าการดำเนินการเฉพาะที่จะดำเนินการเมื่อการกระทำของผู้ใช้ เช่น การแก้ไข ตรงกับเกณฑ์ที่กำหนด

ตัวอย่างเช่น สามารถสร้างตัวกรองเพื่อป้องกันไม่ให้ผู้ใช้ที่ไม่ได้ลงทะเบียนเพิ่มลิงก์ภายนอก หรือเพื่อบล็อกผู้ใช้ที่ลบอักขระมากกว่า 2,000 ตัว


การติดตั้ง

  • ดาวน์โหลดและวางไฟล์ลงในไดเร็กทอรีที่ชื่อ AbuseFilter ในโฟลเดอร์ extensions/ ของคุณ
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter
  • เฉพาะเมื่อติดตั้งจาก Git รัน Composer เพื่อติดตั้ง PHP dependencies โดยการสร้าง composer install --no-dev ในไดเรคทอรีของส่วนขยาย (ดูที่ T173141 สำหรับการขยายความ)Category:Extensions requiring Composer with git/th
  • เพิ่มโค้ดต่อไปนี้ไว้ที่ด้านล่างของ LocalSettings.php ของคุณ:
    wfLoadExtension( 'AbuseFilter' );
    
  • รันสคริปต์อัปเดต เพื่อสร้างตารางฐานข้อมูลที่จำเป็นสำหรับส่วนขยายนี้
  • กำหนดค่าตามต้องการ
  • Yes สำเร็จ – ตรวจสอบที่ Special:Version บนวิกิของคุณเพื่อตรวจการติดตั้งส่วนขยาย
เมื่อติดตั้งจาก Git โปรดทราบว่าส่วนขยายนี้ต้องใช้ Composer

ดังนั้น หลังจากการติดตั้งจาก Git ให้เปลี่ยนเป็นไดเร็กทอรีที่มีส่วนขยาย เช่น "../extensions/AbuseFilter/" และรัน composer install --no-dev หรือเมื่ออัปเดต: composer update --no-dev

หรือควรเพิ่มบรรทัด "extensions/AbuseFilter/composer.json" ลงในไฟล์ "composer.local.json" ในไดเร็กทอรีรากของวิกิของคุณเช่น

{
	"extra": {
		"merge-plugin": {
			"include": [
				"extensions/AbuseFilter/composer.json"
			]
		}
	}
}

การกำหนดค่า

สิทธิผู้ใช้

เมื่อคุณติดตั้งส่วนขยายแล้ว คุณจะต้องตั้งค่าสิทธิ์ผู้ใช้ใน "LocalSettings.php"

User rights for AbuseFilter
สิทธิ คำอธิบาย Notes User groups that have this right by default Versions
abusefilter-modify สร้างหรือดัดแปรตัวกรองการละเมิด Requires the abusefilter-view right sysop 1.19+
abusefilter-view ดูตัวกรองการละเมิดกฎ * 1.19+
abusefilter-log ดูปูมการละเมิดกฎ * 1.19+
abusefilter-log-detail ดูหน่วยรายการบันทึกการละเมิดกฎแบบละเอียด Requires the abusefilter-log right sysop 1.19+
abusefilter-privatedetails ดูข้อมูลส่วนตัวในรายการบันทึกการละเมิดกฎ Prior to 1.34 this right was named abusefilter-private - Requires the abusefilter-log-detail right 1.19+
abusefilter-modify-restricted ปรับเปลี่ยนตัวกรองการละเมิดกฎด้วยการกระทำที่จำกัด Requires the abusefilter-modify right sysop 1.19+
abusefilter-revert แปลงกลับการเปลี่ยนแปลงทั้งหมดโดยตัวกรองการละเมิดกฎที่กำหนด sysop 1.19+
abusefilter-view-private ดูตัวกรองการละเมิดกฎที่ทำเครื่องหมายเป็นส่วนตัว Requires the abusefilter-view right (not needed if the group already has the abusefilter-modify right) sysop 1.19+
abusefilter-hide-log ซ่อนหน่วยในรายการบันทึกการละเมิดกฎ Requires the abusefilter-log right suppress 1.19+
abusefilter-hidden-log ดูหน่วยรายการบันทึกการละเมิดกฎที่ถูกซ่อน Requires the abusefilter-log right suppress 1.19+
abusefilter-log-private ดูหน่วยรายการบันทึกตัวกรองการละเมิดกฎที่ทำเครื่องหมายเป็นส่วนตัว Requires the abusefilter-log right (not needed if the group already has the abusefilter-modify or abusefilter-view-private rights) sysop 1.20+
abusefilter-modify-global สร้างหรือปรับเปลี่ยนตัวกรองการละเมิดกฎข้ามโครงการ Requires the abusefilter-modify right 1.21+
abusefilter-privatedetails-log ดูรายการบันทึกการเข้าถึงรายละเอียดส่วนตัวของตัวกรองการละเมิดกฎ Prior to 1.34 this right was named abusefilter-private-log 1.31+
abusefilter-modify-blocked-external-domains สร้างหรือแก้ไขโดเมนภายนอกที่จะบล็อกไม่ให้เชื่อมโยงมา sysop 1.41+
abusefilter-bypass-blocked-external-domains เลี่ยงผ่านโดเมนภายนอกที่ถูกบล็อก Requires the edit right bot 1.41+
abusefilter-access-protected-vars View and create filters that use protected variables sysop 1.43+
abusefilter-protected-vars-log View logs related to accessing protected variable values sysop 1.43+

ตัวอย่างเช่น การกำหนดค่าตัวอย่างต่อไปนี้จะอนุญาตให้ sysops ทำทุกอย่างที่ต้องการด้วย AbuseFilter และทุกคนสามารถดูบันทึกและดูการตั้งค่าตัวกรองสาธารณะ:

$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;
ตัวกรองที่ทำเครื่องหมายว่าเป็นส่วนตัวเท่านั้นที่จะสามารถดูได้เฉพาะผู้ใช้ที่ได้รับอนุญาตจากการละเมิดตัวกรองแก้ไขหรือการละเมิดตัวกรองดูส่วนตัว
Protected filters can only be created and viewed by users with the abusefilter-access-protected-vars permission. Logs pertaining to these filters can only be viewed by users with the abusefilter-protected-vars-log permission. For more information, see Rules format .

Parameters

ชื่อตัวแปร ค่าเริ่มต้น คำอธิบาย
$wgAbuseFilterActions
[
    'throttle' => true,
    'warn' => true,
    'disallow' => true,
    'blockautopromote' => true,
    'block' => true,
    'rangeblock' => false,
    'degroup' => false,
    'tag' => true
]
การดำเนินการที่เป็นไปได้ที่สามารถทำได้โดยตัวกรองการละเมิด เมื่อเพิ่มการกระทำใหม่ ให้ตรวจสอบว่ามีการจำกัดไว้ที่ $wgAbuseFilterActionRestrictions หรือไม่ และหากเป็นเช่นนั้น อย่าลืมเพิ่มสิทธิ์ที่ abusefilter-modify-restricted ให้กับกลุ่มผู้ใช้ที่เหมาะสม
$wgAbuseFilterConditionLimit
1000
จำนวนสูงสุดของ 'เงื่อนไข' ที่สามารถใช้ได้ในแต่ละครั้งที่เรียกใช้ตัวกรองกับการเปลี่ยนแปลง (ตัวกรองที่ซับซ้อนมากขึ้นจำเป็นต้องมี 'เงื่อนไข' มากกว่า)
$wgAbuseFilterValidGroups
[
    'default'
]
รายการตัวกรอง "กลุ่ม" สามารถแบ่งออกเป็น โดยค่าเริ่มต้นจะมีเพียงกลุ่มเดียวเท่านั้น ส่วนขยายอื่นๆ อาจเพิ่มกลุ่มอื่น ๆ
$wgAbuseFilterEmergencyDisableThreshold
[
    'default' => 0.05
]
ปิดการใช้งานตัวกรองหากตรงกับการแก้ไขมากกว่า 2 ครั้ง ซึ่งคิดเป็นมากกว่า 5 % ของการดำเนินการที่ถูกตรวจสอบกับกลุ่มของตัวกรองในช่วงเวลา "สังเกต" (สูงสุดหนึ่งวัน) เว้นแต่ว่าตัวกรองมีการเปลี่ยนแปลงในช่วง 86400 วินาทีที่ผ่านมา (วันหนึ่ง) ดู การควบคุมปริมาณฉุกเฉิน
$wgAbuseFilterEmergencyDisableCount
[
    'default' => 2
]
$wgAbuseFilterEmergencyDisableAge
[
    'default' => 86400
]
$wgAbuseFilterActionRestrictions
[
	"throttle" => false,
	"warn" => false,
	"disallow" => false,
	"blockautopromote" => true,
	"block" => true,
	"rangeblock" => true,
	"degroup" => true,
	"tag" => false
]
ผู้ใช้จะต้องมีสิทธิ์ผู้ใช้ "abusefilter-modify-restricted" เช่นเดียวกับ "abusefilter-modify" เพื่อสร้างหรือแก้ไขตัวกรองที่ดำเนินการเหล่านี้
$wgAbuseFilterNotifications
false
อนุญาตให้กำหนดค่าส่วนขยายเพื่อส่งการแจ้งเตือน Hit ไปที่ Special:RecentChanges หรือ UDP ตัวเลือกที่มี: rc, udp, rcandudp
หากต้องการส่งการเปลี่ยนแปลงตัวกรองการละเมิดเป็น Special:RecentChanges ให้ใช้ $wgExtensionFunctions[] = static function () { global $wgLogRestrictions; unset( $wgLogRestrictions['abusefilter'] ); };
$wgAbuseFilterNotificationsPrivate
false
เปิดใช้งานการแจ้งเตือนสำหรับตัวกรองส่วนตัว
$wgAbuseFilterCentralDB
null
MW 1.41+ ชื่อของฐานข้อมูลที่จะจัดเก็บตัวกรองการละเมิดทั่วโลก (รองรับเฉพาะในเวอร์ชันการพัฒนาล่าสุดเท่านั้น) ต้องติดตั้ง CentralAuth มิฉะนั้นตัวกรองส่วนกลางจะใช้งานไม่ได้ใน wikifarm
$wgAbuseFilterIsCentral
false
MW 1.41+ ตั้งค่าตัวแปรนี้เป็นจริงสำหรับวิกิที่จัดเก็บ AbuseFilters ส่วนกลางไว้ (รองรับเฉพาะในเวอร์ชันการพัฒนาล่าสุดเท่านั้น) ต้องติดตั้ง CentralAuth มิฉะนั้นตัวกรองส่วนกลางจะใช้งานไม่ได้ใน wikifarm
$wgAbuseFilterLocallyDisabledGlobalActions
[
	"throttle" => false,
	"warn" => false,
	"disallow" => false,
	"blockautopromote" => false,
	"block" => false,
	"rangeblock" => false,
	"degroup" => false,
	"tag" => false
]
ไม่อนุญาตให้ตัวกรองแบบรวมศูนย์ดำเนินการตามที่ตั้งค่าเป็นจริงในตัวแปรนี้
$wgAbuseFilterBlockDuration
'indefinite'
ระยะเวลาของการบล็อกที่สร้างโดย AbuseFilter
ตั้งแต่ 1.31.0-wmf.25 ระยะเวลาบล็อกอาจถูกระบุสำหรับทุกๆ ตัวกรอง และจะแทนที่ตัวแปรนี้ ตัวแปรนี้ใช้เมื่อเปิดใช้งานบล็อกเพื่อเลือกระยะเวลาเริ่มต้นล่วงหน้าเท่านั้น
$wgAbuseFilterAnonBlockDuration
null
ระยะเวลาของการบล็อกที่สร้างโดย AbuseFilter สำหรับผู้ใช้ที่ไม่ได้เข้าสู่ระบบ ระบบจะใช้ค่าของ $wgAbuseFilterBlockDuration หากไม่ได้ตั้งค่าไว้
ตั้งแต่ 1.31.0-wmf.25 ระยะเวลาบล็อกอาจถูกระบุสำหรับทุกๆ ตัวกรอง และจะแทนที่ตัวแปรนี้ ตัวแปรนี้ใช้เมื่อเปิดใช้งานบล็อกเพื่อเลือกระยะเวลาเริ่มต้นล่วงหน้าเท่านั้น
$wgAbuseFilterBlockAutopromoteDuration
5
ระยะเวลาเป็นวันที่การโปรโมตอัตโนมัติของผู้ใช้ถูกตัวกรองบล็อกไว้
$wgAbuseFilterDefaultWarningMessage
[
    'default' => 'abusefilter-warning'
]
ข้อความเตือนเริ่มต้น ตามกลุ่มตัวกรอง
$wgAbuseFilterDefaultDisallowMessage
[
    'default' => 'abusefilter-disallowed'
]
ข้อความไม่อนุญาตเริ่มต้น ตามกลุ่มตัวกรอง
$wgAbuseFilterLogIP
true
ว่าจะรวม IP ใน Abus_filter_log หรือไม่
$wgAbuseFilterLogIPMaxAge
3 * 30 * 24 * 3600
อายุที่ใช้เป็นจุดตัดเมื่อล้างข้อมูลบันทึก IP เก่า ค่าเริ่มต้นคือ 3 เดือน ใช้โดยสคริปต์การบำรุงรักษาล้าง OldLogIPData.php
$wgAbuseFilterProfileActionsCap
10000
จำนวนของการดำเนินการที่กำหนดว่าจะรีเซ็ตสถิติการทำโปรไฟล์เมื่อใด
$wgAbuseFilterLogPrivateDetailsAccess
false
การเข้าถึงข้อมูลส่วนตัวจากรายการบันทึกตัวกรองจะถูกบันทึกไว้หรือไม่
$wgAbuseFilterPrivateDetailsForceReason
false
ไม่ว่าผู้ใช้จะถูกบังคับให้ระบุเหตุผลในการเข้าถึงข้อมูลส่วนตัวจากรายการบันทึกตัวกรองหรือไม่
$wgAbuseFilterSlowFilterRuntimeLimit
500
รันไทม์เป็นมิลลิวินาทีก่อนที่ตัวกรองจะถือว่าช้า
$wgAbuseFilterRangeBlockSize
[
    'IPv4' => '16',
    'IPv6' => '19',
]
ขนาดของช่วงที่ถูกบล็อกโดยการกระทำ 'rangeblock'
$wgAbuseFilterProtectedVariables
[ "user_unnamed_ip" ]
Array of variables that are be considered protected (limited access) and require the abusefilter-access-protected-vars right to use/view.


การควบคุมปริมาณฉุกเฉิน

AbuseFilter มาพร้อมกับคุณสมบัติที่จะควบคุม (ปิดการใช้งาน) ตัวกรองที่ได้รับการแก้ไขเมื่อเร็ว ๆ นี้และตรงกับเกณฑ์ที่กำหนดของการดำเนินการล่าสุดโดยอัตโนมัติ

สิ่งนี้ทำเพื่อป้องกันการแก้ไขตัวกรองที่เป็นอันตรายเพื่อบล็อกผู้ใช้ทุกคนที่ดำเนินการบนวิกิหรือสิ่งที่คล้ายกัน

เงื่อนไขในการปิดใช้งานตัวกรองจะขึ้นอยู่กับตัวแปรเหล่านั้น:

  • $wgAbuseFilterEmergencyDisableThreshold - เปอร์เซ็นต์ของการจับคู่ต่อจำนวนการกระทำทั้งหมดในช่วงเวลาที่สังเกต
  • $wgAbuseFilterEmergencyDisableCount - จำนวนรายการที่ตรงกันของตัวกรองในช่วงเวลาที่สังเกต
  • $wgAbuseFilterEmergencyDisableAge - อายุของตัวกรองที่ต้องคำนึงถึง หากการแก้ไขตัวกรองครั้งล่าสุดเก่ากว่าจำนวนวินาทีนี้ ตัวกรองจะไม่ถูกควบคุม เว้นแต่จะถูกควบคุมแล้ว

ตัวกรองที่ควบคุมปริมาณสามารถระบุได้ในรายการตัวกรอง (พิเศษ: AbuseFilter) โดยมีสถานะ เปิดใช้งาน, อัตราการตรงกันสูง การควบคุมปริมาณจะเกิดขึ้นอย่างเงียบ ๆ และไม่มีทางรู้ได้ว่าตัวกรองถูกควบคุมเมื่อใด

เมื่อตัวกรองถูกควบคุมปริมาณ ตัวกรองจะไม่ดำเนินการที่เป็นอันตรายใดๆ (โดยปกติการดำเนินการจะจำกัดเฉพาะสิทธิ์พิเศษ เช่น การบล็อกผู้ใช้ หรือการลบตัวกรองออกจากกลุ่ม ซึ่งควบคุมโดย $wgAbuseFilterActionRestrictions) และอนุญาตเฉพาะการดำเนินการที่ "ปลอดภัย" เท่านั้น (ตัวกรองที่สามารถ ตักเตือนหรือระงับการดำเนินการต่อไป) ตัวกรองที่ถูกควบคุมไม่ได้เปิดใช้งานโดยอัตโนมัติ หากต้องการปิดใช้งานการควบคุมปริมาณ คุณต้องแก้ไขตัวกรอง โปรดทราบว่าคุณจำเป็นต้องเปลี่ยนแปลงบางอย่างจากตัวกรอง: การเปลี่ยนแปลงบางอย่างจากบันทึกของตัวกรองก็เพียงพอแล้ว

โปรดทราบว่าการแก้ไขตัวกรองจะอัปเดตอายุของตัวกรอง และอาจทำให้ปิดใช้งานได้หากถึงเงื่อนไขที่ต้องควบคุมอีกครั้งในช่วงเวลาสั้นๆ นับตั้งแต่การแก้ไขครั้งล่าสุด ซึ่งนำไปสู่ตัวกรองที่ใช้งานไม่ได้หากวิกิของคุณมีการแก้ไขที่ไม่เหมาะสมมากกว่าการแก้ไขที่ถูกต้อง

การสร้างและการจัดการตัวกรอง

เมื่อติดตั้งส่วนขยายแล้ว คุณจะสามารถสร้าง/ทดสอบ/เปลี่ยนแปลง/ลบตัวกรองได้ และสามารถเข้าถึงบันทึกได้จากหน้าการจัดการตัวกรองการละเมิด Special:AbuseFilter

  • หากต้องการนำเข้าตัวกรองจาก Wikipedia: เมื่อคุณติดตั้งส่วนขยายแล้ว ให้ไปที่ w:Special:AbuseFilter เลือกตัวกรอง (พูด w:Special:AbuseFilter/3) จากนั้นคลิก "ส่งออกตัวกรองนี้ ไปยังวิกิอื่น", คัดลอกข้อความ, ไปที่ "พิเศษ: AbuseFilter/import" บนวิกิของคุณ, วางข้อความ

API

AbuseFilter เพิ่มโมดูลรายการ API สองโมดูล โมดูลหนึ่งสำหรับรายละเอียดของตัวกรองการละเมิด ("abusefilters") และอีกโมดูลสำหรับบันทึกการละเมิด เนื่องจากแยกจากบันทึก MediaWiki อื่นๆ ("abuselog") ไม่สามารถสร้างหรือแก้ไขตัวกรองการละเมิดโดยใช้ API ได้

list=abusefilters (abf)

รายการข้อมูลเกี่ยวกับตัวกรอง

พารามิเตอร์
  • abfstartid รหัสตัวกรองที่จะเริ่มต้นแจกแจง
  • abfendid รหัสตัวกรองที่จะหยุดแจงนับ
  • abfdir ทิศทางในการแจกแจง (เก่ากว่า ใหม่กว่า) older, newer
  • abfshow แสดงเฉพาะตัวกรองที่ตรงตามเกณฑ์เหล่านี้ (enabled|!enabled|deleted|!deleted|private|!private) enabled|!enabled|deleted|!deleted|private|!private|protected|!protected
  • abflimit จำนวนตัวกรองสูงสุดที่จะแสดงรายการ
  • abfprop คุณสมบัติใดที่จะได้รับ (id|คำอธิบาย|รูปแบบ|การกระทำ|การเข้าชม|ความคิดเห็น|lasteditor|เวลาแก้ไขล่าสุด|สถานะ|ส่วนตัว) id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private|protected

เมื่อตัวกรองเป็นแบบส่วนตัว คุณสมบัติบางอย่างที่ระบุด้วย abfprop จะหายไป เว้นแต่คุณจะมีสิทธิ์ผู้ใช้ที่เหมาะสม

ตัวอย่าง
แสดงรายการตัวกรองการละเมิดที่ไม่ใช่ส่วนตัว
ผล
{
    "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)

แสดงรายการอินสแตนซ์ที่การดำเนินการทำให้เกิดตัวกรองการละเมิด

พารามิเตอร์
  • afllogid A single integer log ID to list.
  • aflstart การประทับเวลาเพื่อเริ่มนับ
  • aflend การประทับเวลาที่จะหยุดแจงนับที่
  • afldir ทิศทางในการแจกแจง (เก่ากว่า ใหม่กว่า)
  • afluser แสดงเฉพาะรายการที่ผู้ใช้หรือที่อยู่ IP พยายามดำเนินการเท่านั้น
  • afltitle แสดงเฉพาะรายการที่การดำเนินการเกี่ยวข้องกับเพจที่กำหนด
  • aflfilter แสดงเฉพาะรายการที่ทริกเกอร์รหัสตัวกรองที่กำหนด
  • afllimit จำนวนรายการสูงสุดที่จะแสดงรายการ
  • aflprop คุณสมบัติใดที่จะได้รับ: (ids|filter|user|title|action|details|result|timestamp|hidden|revid|wiki)

aflprop=wiki is recognized only on central wikis.

ตัวอย่าง
แสดงรายการอินสแตนซ์ที่มีการทริกเกอร์ตัวกรองการละเมิดเพื่อตอบสนองต่อการกระทำจากผู้ใช้ "SineBot"
ผล
{
    "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"
            }
        ]
    }
}


ข้อบกพร่องที่อาจเกิด

  • ผู้ใช้บางรายอาจพบว่าการสร้างตัวกรองใหม่หรือการแก้ไขตัวกรองเก่าล้มเหลว และผู้ใช้เพิ่งถูกเปลี่ยนเส้นทางไปยังหน้าเดิม หาก Wiki ใช้ใบรับรอง SSL ข้อผิดพลาดนี้อาจเป็นเพราะค่า $wgServer ซึ่งอาจใช้ "http://" แทน "https://" ข้อบ่งชี้ของข้อผิดพลาดนี้คือเบราว์เซอร์ให้คำเตือน https สำหรับ Special:AbuseFilter เพจ (Project:Support desk/Flow/2016/04#h-response?-2016-04-14T15:54:00.000Z)

บูรณาการกับส่วนขยายอื่น ๆ

คุณสามารถรวม AbuseFilter เข้ากับส่วนขยายอื่น ๆ ได้หลายวิธี

การเพิ่มตัวแปรสำหรับการกรอง

คุณสามารถเพิ่มตัวแปรใหม่เพื่อใช้ในตัวกรองการละเมิดได้ รายการตัวอย่าง is available หากต้องการทำเช่นนั้น คุณควร:

  • เพิ่มตัวจัดการสำหรับตะขอ AbuseFilter-builder ในการเพิ่มตัวแปร คุณควรใช้ $builder['vars']['variable_name'] = 'i18n-key'; โดยที่ variable_name คือชื่อของตัวแปร และ i18n-key คือส่วนของคีย์ i18n คีย์เต็มจะเป็น abusefilter-edit-builder-vars-{$your_key}
  • เพิ่มข้อความ i18n ที่คุณเลือกที่จุดก่อนหน้า
  • เลือกตัวจัดการ hook ที่จะคำนวณตัวแปร คุณสามารถ: ขึ้นอยู่กับกรณีการใช้งานของคุณ
    • ใช้ตะขอ AbuseFilter-generateTitleVars นี่เป็นแนวคิดเฉพาะสำหรับตัวแปรที่เกี่ยวข้องกับหน้า
    • ใช้ตะขอ AbuseFilter-generateUserVars นี่เป็นแนวคิดเฉพาะสำหรับตัวแปรที่เกี่ยวข้องกับผู้ใช้
    • ใช้ตะขอ AbuseFilter-generateGenericVars นี่สำหรับตัวแปรที่ไม่ได้ผูกกับเพจหรือผู้ใช้เฉพาะ
    • ใช้ตะขอ AbuseFilterAlterVariables สิ่งนี้มีความยืดหยุ่นมากกว่า hooks อื่นๆ เล็กน้อย แต่ก็มีข้อเสีย: ตัวแปรของคุณจะไม่สามารถใช้งานได้เมื่อตรวจสอบรายการการเปลี่ยนแปลงล่าสุดที่ผ่านมา หากคุณต้องการใช้คุณลักษณะนั้น (และแนะนำให้ทำเช่นนั้น) คุณควรใช้หนึ่งใน hooks ที่แสดงไว้ด้านบน และใช้พารามิเตอร์ที่สาม ($RCRow)
  • ภายใน hook handler มีสองวิธีในการเพิ่มตัวแปร:
    • วิธี "โดยตรง" คือการเรียก $vars->setVar( 'var_name', var_value ); วิธีนี้เหมาะอย่างยิ่งเมื่อคำนวณค่าได้ง่ายและรวดเร็วเท่านั้น โดยค่าดังกล่าวจะถูกคำนวณแม้ว่าจะไม่มีตัวกรองที่ใช้งานอยู่ก็ตาม
    • วิธี "ขี้เกียจ" กำลังเรียก $vars->setLazyLoadVar( 'var_name', 'method_name', $params ); ในที่นี้ "method_name" คือตัวระบุ (ไม่ซ้ำกัน) ที่จะใช้ในการคำนวณตัวแปร (ขอแนะนำให้ใส่ชื่อส่วนขยายนำหน้าด้วย) หากต้องการลงทะเบียนเมธอด คุณควรเพิ่มตัวจัดการสำหรับ AbuseFilter-computeVariable hook ในนั้น คุณควรตรวจสอบว่า $method ที่ส่งผ่านตรงกับ 'method_name' ของคุณหรือไม่ และหากเป็นเช่นนั้น ให้คำนวณตัวแปร สุดท้าย $params คืออาร์เรย์ของพารามิเตอร์ที่คุณต้องใช้ในการคำนวณตัวแปร สิ่งเหล่านี้จะถูกส่งผ่านไปยังตัวจัดการ hook computeVariable สำหรับตัวอย่างนี้ คุณสามารถตรวจสอบ global_user_groups ของ CentralAuth

การเพิ่มการกระทำที่กำหนดเอง

คุณสามารถเพิ่มตัวจัดการการดำเนินการแบบกำหนดเองได้ เพื่อให้แต่ละตัวกรองสามารถดำเนินการเพิ่มเติมได้ ในการทำเช่นนั้น คุณต้องเลือกชื่อสำหรับการกระทำ ('my-action' จากนี้ไป) จากนั้น:

  • สร้างคลาสชื่อ เช่น MyAction ซึ่งควรขยาย \MediaWiki\Extension\AbuseFilter\Consequence ซึ่งสามารถใช้ HookAborterConsequence หรือ ConsequencesDisablerConsequence ได้
  • เพิ่มสมาชิกให้กับตะขอ AbuseFilterCustomActions; ผู้สมัครสมาชิกควรจัดให้มีการโทรกลับตามที่ระบุไว้ในเอกสารประกอบของ hook ซึ่งจะส่งคืนอินสแตนซ์ของคลาสที่สร้างขึ้นด้านบน เช่น:
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 );
    };
}

จากนั้นคุณควรเพิ่มข้อความ i18n ต่อไปนี้ คุณสามารถแทนที่ 'my_action' ด้วยเช่น 'block' เพื่อดูว่าข้อความมีไว้เพื่ออะไร:

  • 'abusefilter-edit-action-${my_action}'
  • 'abusefilter-action-${my_action}'

การเพิ่มกลุ่มกฎ

คุณยังสามารถเพิ่มกลุ่มกฎเพิ่มเติม ซึ่งสามารถใช้เพื่อจัดกลุ่มตัวกรองการละเมิดที่มีอยู่ได้ โปรดทราบว่าในขณะนี้ แต่ละตัวกรองสามารถอยู่ในกลุ่มเดียวเท่านั้น (T116642) Currently, the only known consumer of this feature is Extension:StructuredDiscussions. หากต้องการทำเช่นนั้น คุณควร:

  • เพิ่มชื่อกลุ่มต่อท้าย $wgAbuseFilterValidGroups
  • เพิ่มโค้ดเพื่อเรียกใช้ตัวกรองกับกลุ่มของคุณ โปรดทราบว่า AbuseFilter จะไม่ทำอย่างนั้นด้วยตัวเอง เพื่อทำเช่นนั้น คุณควรสร้างวัตถุ AbuseFilterRunner โดยส่งผ่านชื่อกลุ่มของคุณ

ดูเพิ่ม

Category:Extensions used on Wikimedia/th#AbuseFilter/th Category:Spam management extensions/th
Category:API extensions/th Category:All extensions/th Category:ChangeTagsListActive extensions/th Category:CheckUserInsertChangesRow extensions/th Category:CheckUserInsertLogEventRow extensions/th Category:CheckUserInsertPrivateEventRow extensions/th Category:ContributionsToolLinks extensions/th Category:EditFilterMergedContent extensions/th Category:Extensions available as Debian packages/th Category:Extensions bundled with MediaWiki 1.38/th Category:Extensions in Wikimedia version control/th Category:Extensions included in Canasta/th Category:Extensions included in Fandom/th Category:Extensions included in Miraheze/th Category:Extensions included in MyWikis/th Category:Extensions included in ProWiki/th Category:Extensions included in ShoutWiki/th Category:Extensions included in Telepedia/th Category:Extensions included in WikiForge/th Category:Extensions included in wiki.gg/th Category:Extensions requiring Composer with git/th Category:Extensions supporting Composer/th Category:Extensions used on Wikimedia/th Category:GPL licensed extensions/th Category:GetAutoPromoteGroups extensions/th Category:GetUserPermissionsErrors extensions/th Category:HistoryPageToolLinks extensions/th Category:JsonValidateSave extensions/th Category:ListDefinedTags extensions/th Category:LoadExtensionSchemaUpdates extensions/th Category:PageDelete extensions/th Category:PageSaveComplete extensions/th Category:ParserOutputStashForEdit extensions/th Category:RecentChange save extensions/th Category:Spam management extensions/th Category:Special page extensions/th Category:Stable extensions/th Category:TitleMove extensions/th Category:UndeletePageToolLinks extensions/th Category:UploadStashFile extensions/th Category:UploadVerifyUpload extensions/th Category:UserMergeAccountFields extensions/th Category:User activity extensions/th