Extension:दुरुपयोग फ़िल्टर
प्रकाशन की स्थिति: स्थिर |
|
|---|---|
| कार्यान्वयन | सदस्य गतिविधि, विशेष पृष्ठ, API |
| विवरण | विकि की गतिविधि पर कार्य के आधार पर सीमाएँ जोड़ सकता है |
| लेखक |
|
| संगतता नीति | मीडियाविकि के साथ प्रकाशित स्नैपशॉट्स। Master में पश्च संगतता नहीं है। |
| डेटाबेस बदलता है | हाँ |
| Composer | mediawiki/abuse-filter |
|
|
|
|
|
|
|
|
| लाइसेंस | GNU साधारण सार्वजनिक लाइसेंस 2.0 या अधिक |
| डाउनलोड करें | |
| AbuseFilter एक्सटेंशन को अनुवादित करें अगर यह translatewiki.net पर उपलब्ध है | |
| मुद्दे | अधूरे टास्क्स · बग रिपोर्ट करें |
AbuseFilter (दुरुपयोग फ़िल्टर) एक्सटेंशन की मदद से अधिकारों वाले सदस्य, सदस्यों द्वारा किए गए संपादन जैसे कार्यों के विशिष्ट मानदंडों को पूरा करने पर कुछ प्रतिक्रियाओं को सेट कर सकते हैं।
उदाहरणस्वरूप, अपंजीकृत सदस्यों को बाहरी कड़ियाँ जोड़ने से रोकने के लिए, या फिर 2000 अक्षरों से ज़्यादा जोड़ने वाले सदस्यों को अवरोधित करने के लिए, एक फ़िल्टर जोड़ा जा सकता है।
स्थापना
- फ़ाइलों को डाउनलोड करें और अपने
extensions/फ़ोल्डर केAbuseFilterनामक डिरेक्ट्री में डालें।
Developers and code contributors should install the extension from Git instead, using:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter
- सिर्फ गिट से डाउनलोड करते समय एक्सटेंशन डिरेक्ट्री से
composer install --no-devप्रकाशित करके PHP निर्भरताएँ स्थापित करने के लिए Composer चलाएँ। (संभावित जटिलताओं के लिए T173141 देखें।) - अपने LocalSettings.php फ़ाइल के अंत में निम्न कोड जोड़ें:
wfLoadExtension( 'AbuseFilter' );
- अपडेट स्क्रिप्ट चलाएँ जो स्वचालित रूप से आवश्यक डेटाबेस टेबल्स का निर्माण करेगा जिसकी इस एक्सटेंशन को आवश्यकता है।
- आवश्यकतानुसार कॉन्फ़िगर करें।
पूर्ण – अपने विकि पर Special:Version पर जाकर देखें कि एक्सटेंशन को सफलतापूर्वक स्थापित किया गया है कि नहीं।
तो गिट से स्थापित करने के बाद एक्सटेंशन वाली डिरेक्ट्री को बदलें, जैसे "../extensions/AbuseFilter/", और composer install --no-dev चलाएँ, या फिर अपडेट करते समय composer update --no-dev।
वैकल्पिक रूप से, अपने विकि की मूल डिरेक्ट्री के "composer.local.json" फ़ाइल पर "extensions/AbuseFilter/composer.json" पंक्ति जोड़ें, जैसे:
{
"extra": {
"merge-plugin": {
"include": [
"extensions/AbuseFilter/composer.json"
]
}
}
}
कॉन्फ़िगरेशन
सदस्य अधिकार
एक्सटेंशन को स्थापित कर लेने के बाद आपको "LocalSettings.php" में सदस्य अधिकार सेट करने होंगे।
| अधिकार | विवरण | 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 | सुरक्षित वेरिएबलों का उपयोग करने वाले दुरुपयोग फ़िल्टर्स देखना और सम्पादित करना | sysop | 1.43+ | |
| abusefilter-protected-vars-log | सुरक्षित वेरिएबलों के वैल्युओं तक पहुँचने से संबंधित लॉग्स देखना | sysop | 1.43+ |
उदाहरणस्वरूप, इस उदाहरण कॉन्फ़िगरेशन में सिसॉप्स 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;
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.suppressrevision permission. These filters can only be viewed and modified by users with the viewsuppressed permission, and all abuse logs they create are treated as automatically suppressed.
पैरामीटर
| वेरिएबल का नाम | डिफ़ॉल्ट वैल्यू | विवरण |
|---|---|---|
$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
|
इससे एक्सटेंशन को इस तरह से कॉन्फ़िगर किया जा सकता है कि यह हिट सूचनाएँ Special:RecentChanges या UDP पर भेजे। उपलब्ध विकल्प: rc, udp, rcandudp
दुरुपयोग फ़िल्टर पर बदलावों को Special:RecentChanges पर भेजने के लिए
$wgExtensionFunctions[] = static function () { global $wgLogRestrictions; unset( $wgLogRestrictions['abusefilter'] ); }; का इस्तेमाल करें। |
$wgAbuseFilterNotificationsPrivate
|
false
|
व्यक्तिगत फ़िल्टरों के लिए सूचनाएँ सक्षम करें। |
$wgAbuseFilterCentralDB
|
null
|
MW 1.41+ एक डेटाबेस का नाम जहाँ ग्लोबल दुरुपयोग फिल्टरों को संग्रहीत किया जाएगा (सिर्फ नवीनतम, विकास संस्करण में समर्थित)। CentralAuth की ज़रूरत है, वरना ग्लोबल फ़िल्टर विकि फ़ार्म पर टूट जाएँगे। |
$wgAbuseFilterIsCentral
|
false
|
MW 1.41+ इस वेरिएबल को उन विकियों पर true पर सेट करें जहाँ ग्लोबल AbuseFilter रखे जाते हैं (सिर्फ नवीनतम, विकास संस्करण में समर्थित)। CentralAuth की ज़रूरत है, वरना ग्लोबल फ़िल्टर विकि फ़ार्म पर टूट जाएँगे। |
$wgAbuseFilterLocallyDisabledGlobalActions
|
[
"throttle" => false,
"warn" => false,
"disallow" => false,
"blockautopromote" => false,
"block" => false,
"rangeblock" => false,
"degroup" => false,
"tag" => false
]
|
केंद्रित फ़िल्टरों को इस वेरिएबल में true पर सेट किए गए कार्यों को अवरोधित करने से रोकें। |
$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
|
abuse_filter_log में IP दर्ज करना है कि नहीं |
$wgAbuseFilterLogIPMaxAge
|
3 * 30 * 24 * 3600
|
पुराने IP लॉग डेटा को साफ़ करते समय सबसे नए पते की उम्र। डिफ़ॉल्ट से 3 महीने पर होता है। इसका इस्तेमाल अनुरक्षण स्क्रिप्ट purgeOldLogIPData.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– थ्रॉटल करने के लिए फ़िल्टर की उम्र। अगर फ़िल्टर पर आखिरी संपादन सेंकड के इस संख्या से ज़्यादा है, फ़िल्टर को थ्रॉटल नहीं किया जाएगा, और इसे पहले से थ्रॉटल न किया गया हो तो।
थ्रॉटल किए गए फ़िल्टरों को फ़िल्टरों की सूची (Special:AbuseFilter) में से सक्षम, मिलानों की उच्च दर स्थिति के साथ पहचाना जा सकता है। थ्रॉटलिंग पीठ-पीछे होता है, और यह बताने का कोई तरीका नहीं है कि फ़िल्टर कब थ्रॉटल हो जाता है।
जब किसी फ़िल्टर को थ्रॉटल किया जाता है, इससे कोई ख़तरनाक कार्य नहीं होती (कार्य जो आम तौर पर विशेष अधिकार वाले सदस्य कर सकते हैं, जैसे अवरोध करना, या इसे समूहों से हटाना, जो $wgAbuseFilterActionRestrictions द्वारा नियंत्रित किया जाता है), और सिर्फ "सुरक्षित" कार्यों की अनुमति है (वे जिनसे सदस्य को वर्तमान कार्य के बारे में सूचना भेजी जा सकती है)। थ्रॉटल किए गए फ़िल्टरों को अपने आप दोबारा सक्षम नहीं किया जाता है। थ्रॉटल को अक्षम करने के लिए आपको फ़िल्टर को संपादित करना होगा। ध्यान रखें कि आपको फ़िल्टर पर कोई बदलाव करना होगा: फ़िल्टर के नोट में बदलाव करेंगे तब भी काम हो जाएगा।
ध्यान रखें कि फ़िल्टर को संपादित करने पर इसकी उम्र घट जाती है, यानी कि पिछले संपादन के बाद छोटी अवधि में अगर यह फिर मानदंडों से मेल खाने लगता है तो इसे दोबारा थ्रॉटल कर दिया जाएगा, तो किसी ऐसे विकि पर फ़िल्टर किसी काम का नहीं होगा जिसपर अच्छे संपादनों से ज़्यादा दुरुपयोगी संपादन हैं।
फ़िल्टर बनाना और प्रबंधित करना
एक बार एक्सटेंशन स्थापित हो जाने के बाद, फ़िल्टर बनाए जा सकते हैं/परीक्षित किए जा सकते हैं/बदले जा सकते हैं/हटा दिए जा सकते हैं, और लॉग दुरुपयोग फ़िल्टर प्रबंधन पृष्ठ Special:AbuseFilter पर पाया जा सकता है।
- Rules format – * नियमों का प्रारूप - फ़िल्टर लिखने के बुनियाद
- [[Special:MyLanguage/Extension:AbuseFilter/Actions|* कार्य]]
- Access flags
- [[Special:MyLanguage/Extension:AbuseFilter/Global|* ग्लोबल नीतियाँ]]
- [[Special:MyLanguage/Extension:AbuseFilter/Conditions|* शर्तों के उपयोग को सीमित करने की गाइड]]
- विकिपीडिया से फ़िल्टर आयात करने के लिए: जब आपने एक्सटेंशन को स्थापित कर लिया हो, w:Special:AbuseFilter पर जाएँ, एक फ़िल्टर चुनें (जैसे w:Special:AbuseFilter/3), और फिर "इस फ़िल्टर को दूसरे विकि पर निर्यात करें" पर क्लिक करें, टेक्स्ट की प्रतिलिपि बनाएँ, अपने विकि पर "Special:AbuseFilter/import" पर जाएँ, टेक्स्ट को चिपकाएँ।
- m:Small wiki toolkits/Starter kit/AbuseFilter – छोटे विकि समुदायों के लिए Metawiki पर एक गाइड
API
AbuseFilter दो API सूची मोडल जोड़ता है, एक दुरुपयोग फ़िल्टरों की जानकारी के लिए ("abusefilters") और एक दुरुपयोग लॉग के लिए, क्योंकि यह दूसरे मीडियाविकि लॉग्स से अलग है ("abuselog")। API की मदद से दुरुपयोग फ़िल्टर बनाए या संपादित किए नहीं जा सकते।
list=abusefilters (abf)
फ़िल्टरों के बारे में जानकारी सूचीबद्ध करें
- पैरामीटर
abfstartid– पहला फ़िल्टर IDabfendid– आखिरी फ़िल्टर IDabfdir– सूचीबद्ध करने का क्रम (older, newer) older, newerabfshow– सिर्फ वही फ़िल्टर दिखाएँ जो इन मानदंडों को पूरा करे (enabled|!enabled|deleted|!deleted|private|!private) enabled|!enabled|deleted|!deleted|private|!private|protected|!protectedabflimit– सूचीबद्ध करने के लिए फ़िल्टरों की अधिकतम संख्याabfprop– प्राप्त करने के लिए गुणधर्म (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private) id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private|protected|suppressed
जब फ़िल्टर व्यक्तिगत हो, abfprop से निर्धारित कुछ गुणधर्म गायब होंगे अगर आपके पास उचित सदस्य अधिकार न हो तो।
- उदाहरण
| 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)
उदाहरणों को सूचीबद्ध करें जहाँ कार्यों ने एक दुरुपयोग फ़िल्टर को ट्रिगर किया।
- पैरामीटर
afllogid– A single integer log ID to list.aflstart– सूचीबद्ध करना शुरू करने के लिए टाइमस्टैम्पaflend– सूचीबद्ध करना बंद करने के लिए टाइमस्टैम्पafldir– सूचीबद्ध करने का क्रम (older, newer)afluser– सिर्फ वही एंट्रियाँ दिखाएँ जहाँ कार्य करने का प्रयास किसी विशिष्ट सदस्य या IP पते द्वारा किया गया था।afltitle– सिर्फ वही एंट्रियाँ दिखाएँ जहाँ कार्य किसी विशिष्ट पृष्ठ पर हुआ था।aflfilter– सिर्फ वही एंट्रियाँ दिखाएँ जिन्होंने किसी विशिष्ट फ़िल्टर ID को ट्रिगर कियाafllimit– सूचीबद्ध करने के लिए एंट्रियों की अधिकतम संख्याaflprop– प्राप्त करने के लिए गुणधर्म: (ids|filter|user|title|action|details|result|timestamp|hidden|revid|wiki)aflprop=wikiis recognized only on central wikis.
- उदाहरण
| 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"
}
]
}
}
|
संभव त्रुटियाँ
- कुछ सदस्यों को नए फ़िल्टर बनाने या पुराने फ़िल्टर सम्पादित करने में समस्याएँ आ सकती हैं, और सदस्य को मूल पृष्ठ पर अनुप्रेषित कर दिया जाता है। अगर विकि पर SSL प्रमाणपत्रों का इस्तेमाल किया जा रहा है, यह त्रुटि
$wgServerवैल्यू की वजह से हो सकती है, जिसमें शायद "https://" की जगह "http://" का इस्तेमाल किया जा रहा हो। इस त्रुटि का एक संकेत है Special:AbuseFilter पृष्ठों के लिए ब्राउज़र द्वारा https चेतावनी दिखाना। ($2) (Project:Support desk/Flow/2016/04#h-response?-2016-04-14T15:54:00.000Z)
एक्सटेंशनों के साथ एकीकरण
आप दूसरे एक्सटेंशनों के साथ दुरुपयोग फ़िल्टर को कोई तरीकों से एकीकृत कर सकते हैं।
छानने के लिए वेरिएबल्स जोड़ना
दुरुपयोग फ़िल्टरों पर उपयोग के लिए नए वेरिएबल्स जोड़े जा सकते हैं। उदाहरणों की एक सूची {{$1|उपलब्ध है}}। ऐसा करने के लिए आपको:
A list of examples is available. To do that, you should:
- AbuseFilter-builder हुक के लिए एक हैंडलर जोड़ना होगा। वेरिएबल जोड़ने के लिए आपको
$builder['vars']['variable_name'] = 'i18n-key';का इस्तेमाल करना चाहिए, जहाँvariable_nameवेरिएबल की कुँजी का नाम है, औरi18n-keyकिसी i18n कुँजी का हिस्सा है। पूरी कुँजी होगीabusefilter-edit-builder-vars-{$your_key}। - पिछले स्थान पर आपके चुने i18n संदेश जोड़ दें।
- एक हुक हैंडलर चुनें जहाँ वेरिएबल का हिसाब किया जाएगा। आपके उपयोग के मामले के अनुसार, आप:
- AbuseFilter-generateTitleVars हुक को लागू कर सकते हैं; इसे विशिष्ट रूप से पृष्ठ-संबंधित वेरिएबलों के लिए बनाया गया है;
- AbuseFilter-generateUserVars हुक को लागू कर सकते हैं; इसे विशिष्ट रूप से सदस्य-संबंधित वेरिएबलों के लिए बनाया गया है;
- AbuseFilter-generateGenericVars हुक को लागू कर सकते हैं; इसे उन वेरिएबलों के लिए बनाया गया है जो किसी विशिष्ट पृष्ठ या सदस्य से जुड़े नहीं हैं;
- AbuseFilterAlterVariables हुक को लागू कर सकते हैं; यह दूसरे हुक्स से ज़रा-सा ज़्यादा लचीला है, मगर इसकी एक कमी है: आपका वेरिएबल RecentChanges एंट्रियों को जाँचते समय उपलब्ध नहीं होगा। अगर आप उस सुविधा को लागू करना चाहते हैं (और ऐसा करना सुझाया जाता है), आपको ऊपर सूचीबद्ध हुक्स में से किसी एक का इस्तेमाल करना चाहिए, और उस सुविधा के तीसरे पैरामीटर (
$RCRow) का इस्तेमाल करना चाहिए।
- हुक के हैंडलर के अंदर वेरिएबल जोड़ने के दो तरीके हैं:
- "सीधा" तरीका है
$vars->setVar( 'var_name', var_value );को कॉल करना। यह सिर्फ तभी सही है जब वैल्यू का हिसाब करना त्वरित और आसान हो: वैल्यू का हिसाब तब भी किया जाएगा जब कोई सक्रिय फ़िल्टर उसका उपयोग न कर रहा हो। - "आलसी" तरीका है
$vars->setLazyLoadVar( 'var_name', 'method_name', $params );को कॉल करना। यहाँ 'method_name' एक (अनूठी) पहचानकर्ता है जिसकी मदद से वेरिएबल का हिसाब किया जाएगा (इससे पहले अपने एक्सटेंशन के नाम को जोड़ने की अनुशंसा दी जाती है)। इस तरीके को पंजीकृत करने के लिए आपको AbuseFilter-computeVariable हुक के लिए एक हैंडलर जोड़ना चाहिए; फिर जाँचें कि $method तरीका आपके 'method_name' से मेल खाता है या नहीं, और अगर खाता है, वेरिएबल का हिसाब लगाएँ। आखिर में, $params पैरामीटर्स का एक ऐरे है जिसकी मदद से आप वैल्यू का हिसाब लगा पाएँगे; इन्हें computeVariable हुक हैंडलर पर पास किया जाता है। इसके एक उदाहरण के लिए आप CentralAuth काglobal_user_groupsदेख सकते हैं।
- "सीधा" तरीका है
अनुकूलित कार्य जोड़ना
आप अनुकूलित कार्य हैंडलर्स जोड़ सकते हैं, ताकि हर फ़िल्टर अतिरिक्त कार्य करे। ऐसा करने के लिए आपको कार्य के लिए एक नाम चुनना होगा (यहाँ से 'my-action'), और फिर:
- उदाहरणस्वरूप, MyAction नामक एक क्लास बनाएँ, जो \MediaWiki\Extension\AbuseFilter\Consequence को विस्तृत करेगा, और जो HookAborterConsequence या ConsequencesDisablerConsequence को भी लागू कर पाएगा
- AbuseFilterCustomActions हुक पर एक सदस्य जोड़ें; सदस्य को हुक के प्रलेख में प्रलेखित विधि से एक कॉलबैक प्रदान करना होगा, जो ऊपर बनाए गए क्लास का एक उदाहरण लौटाता है, उदाहरणस्वरूप:
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)। वर्तमान में सिर्फ Extension:StructuredDiscussions द्वारा ही इस सुविधा का इस्तेमाल किया जाता है। ऐसा करने के लिए आपको:
- समूह का नाम
$wgAbuseFilterValidGroupsके शुरुआत में जोड़ना होगा - अपने समूह के साथ फ़िल्टर को चलाने के लिए कुछ कोड जोड़ना होगा। ध्यान रखें कि दुरुपयोग फ़िल्टर यह काम खुद नहीं करेगा। ऐसा करने के लिए आपको एक वस्तु
AbuseFilterRunnerबनाना होगा, जिसमें आपको अपने समूह का नाम पास करना होगा।
ये भी देखें
- कई WMF विकियाँ जहाँ पर यह सक्षम है (और किस कॉन्फ़िगरेशन के साथ)
| इस एक्सटेंशन का इस्तेमाल एक या अधिक विकिमीडिया परियोजनाओं पर किया जा रहा है। इसका शायद मतलब है कि एक्सटेंशन स्थिर है और इस तरह के अधिक दर्शकों वाले वेबसाइटों द्वारा उपयोग किए जाने के लिए पर्याप्त रूप से काम करता है। विकिमीडिया की CommonSettings.php और InitialiseSettings.php कॉन्फ़िगरेशन फ़ाइलों में इस एक्सटेंशन का नाम खोजें, और यह वहीं स्थापित होगा। किसी विशिष्ट विकि पर स्थापित एक्सटेंशन्स की पूरी सूची को विकि के Special:Version पृष्ठ पर देखा जा सकता है। |
| इस एक्सटेंशन को निम्न विकि फ़ार्म्स/होस्ट्स और/या पैकेजिस में शामिल किया गया है: |
- Stable extensions/hi
- User activity extensions/hi
- Special page extensions/hi
- API extensions/hi
- Extensions supporting Composer/hi
- ChangeTagsListActive extensions/hi
- CheckUserInsertChangesRow extensions/hi
- CheckUserInsertLogEventRow extensions/hi
- CheckUserInsertPrivateEventRow extensions/hi
- ContributionsToolLinks extensions/hi
- EditFilterMergedContent extensions/hi
- GetAutoPromoteGroups extensions/hi
- HistoryPageToolLinks extensions/hi
- HtmlPageLinkRendererEnd extensions/hi
- JsonValidateSave extensions/hi
- ListDefinedTags extensions/hi
- LoadExtensionSchemaUpdates extensions/hi
- PageDelete extensions/hi
- ParserOutputStashForEdit extensions/hi
- RecentChange save extensions/hi
- ResourceLoaderRegisterModules extensions/hi
- TitleMove extensions/hi
- UndeletePageToolLinks extensions/hi
- UploadStashFile extensions/hi
- UploadVerifyUpload extensions/hi
- UserMergeAccountFields extensions/hi
- GetUserPermissionsErrors extensions/hi
- GPL licensed extensions/hi
- Extensions in Wikimedia version control/hi
- All extensions/hi
- Extensions bundled with MediaWiki 1.38/hi
- Extensions requiring Composer with git/hi
- Extensions used on Wikimedia/hi
- Extensions included in Canasta/hi
- Extensions available as Debian packages/hi
- Extensions included in Fandom/hi
- Extensions included in Miraheze/hi
- Extensions included in MyWikis/hi
- Extensions included in ProWiki/hi
- Extensions included in ShoutWiki/hi
- Extensions included in Telepedia/hi
- Extensions included in Weird Gloop/hi
- Extensions included in wiki.gg/hi
- Spam management extensions/hi
