Extension:AbuseFilter/ar

يسمح ملحق "AbuseFilter" للمستخدمين المتميزين بتعيين إجراءات معينة يتم اتخاذها عندما تتطابق إجراءات المستخدمين -مثل عمليات التحرير- مع معايير معينة.

على سبيل المثال، يمكن إنشاء "مُرشِّح" لمنع المستخدمين المجهولين من إضافة روابط خارجية، أو لحظر مستخدم يزيل أكثر من 2000 حرف.

الإعداد


مجموعات المستخدمين
بمجرد تثبيت الملحق، سيتعين عليك إعداد صلاحيات المستخدم في "LocalSettings.php".

على سبيل المثال، سيسمح النموذج التالي للإداريين sysops بالقيام بكل ما يريدونه باستخدام "مُرَشِّح" AbuseFilter، ويسمح للجميع بعرض السجل ومشاهدة إعدادات المُرشِّح العامة:

معاملات


الاختناق في حالات الطوارئ
يأتي AbuseFilter مزودًا بميزة تعمل تلقائيًا على تقييد (تعطيل) الفلاتر التي تم تعديلها مؤخرًا وتتوافق مع حد معين من الإجراءات الأخيرة.

يتم ذلك لمنع التعديلات الضارة على المرشحات لحظر كل مستخدم يقوم بإجراء على الويكي أو ما شابه.

يعتمد شرط تعطيل الفلتر على تلك المتغيرات:
 * - النسبة المئوية للمطابقات على المبلغ الإجمالي للإجراءات في الفترة المرصودة.
 * - عدد المطابقات للمرشح في الفترة الملاحظة.
 * - عمر المرشح لأخذه بعين الاعتبار. إذا كان التعديل الأخير للفلتر أقدم من هذا العدد من الثواني ، فلن يتم تقييد الفلتر ، إلا إذا كان قد تم تقييده بالفعل.
 * - العدد الأقصى للإجراءات الأخيرة ليتم احتسابها مقابل الحد الأدنى. لاحظ أن كل إجراء يؤدي إلى زيادة العداد ، وبمجرد وصول هذا العداد إلى هذه القيمة المكونة ، تتم إعادة تعيين هذا العداد وعدد الإجراءات الأخيرة التي تتطابق مع جميع عوامل التصفية إلى 0.

يمكن تحديد المرشحات الخانقة في قائمة المرشحات (Special: AbuseFilter) بالحالة $ 1. يحدث الاختناق بصمت ، ولا توجد طريقة لمعرفة متى يتم اختناق الفلتر.

عندما يتم تقييد أحد الفلاتر ، فإنه لا يؤدي أي إجراء خطير (عادةً ما تقتصر الإجراءات على حقوق خاصة مثل حظر المستخدم ، أو إزالته من المجموعات ، التي يتحكم فيها $wgAbuseFilterActionRestrictions) ، ولا يُسمح إلا بالإجراءات "الآمنة" (تلك التي يمكنها تحذير أو منع الإجراء المستمر). لا يتم تمكين المرشحات الخانقة تلقائيًا. لتعطيل الخنق ، تحتاج إلى تعديل عامل التصفية. لاحظ أنك تحتاج بالفعل إلى تغيير شيء ما من الفلتر: تغيير شيء ما من ملاحظات الفلتر كافٍ.

لاحظ أن تحرير الفلتر يحدّث عمره ، ويمكن أن يتسبب في تعطيله إذا وصل مرة أخرى إلى الشروط التي سيتم تقييدها في فترة قصيرة منذ التعديل الأخير ، مما يؤدي إلى عامل تصفية غير قابل للاستخدام إذا كان الويكي الخاص بك يحتوي على تعديلات إساءة استخدام أكثر من تلك الشرعية.



إنشاء وإدارة المرشحات
بمجرد تثبيت الملحق، يمكن إنشاء المرشحات /اختبارها /تغييرها /حذفها ويمكن الوصول إلى السجلات من صفحة إدارة مرشحات الإساءة Special:AbuseFilter.


 * شكل الأوامر Rules format - أساسيات كيفية كتابة مُرشِّح
 * الإجراءات Actions
 * قواعد عامة Global Rules
 * مساعدة لتقليل استخدام الشروط Guide to optimizing condition limit usage
 * To import filters from Wikipedia: When you have installed the extension, go to w:Special:AbuseFilter, choose a filter (say w:Special:AbuseFilter/3), then click "Export this filter to another wiki", copy the text, go to "Special:AbuseFilter/import" on your wiki, paste the text.
 * m:Small wiki toolkits/Starter kit/AbuseFilter - دليل لمجتمعات الويكي الصغيرة على metawiki

API
يضيف AbuseFilter وحدتين من وحدات قائمة API ، واحدة للحصول على تفاصيل عوامل تصفية إساءة الاستخدام ("عوامل تصفية إساءة الاستخدام") والأخرى لسجل إساءة الاستخدام ، نظرًا لأنها منفصلة عن سجلات MediaWiki الأخرى ("abuselog"). لا يمكن إنشاء أو تعديل عوامل تصفية إساءة الاستخدام باستخدام واجهة برمجة التطبيقات.

list = abusefilters
سرد معلومات حول عوامل التصفية


 * Parameters :
 * - معرّف عامل التصفية الذي سيبدأ التعداد منه
 * - معرّف عامل التصفية الذي سيتم إيقاف التعداد عنده
 * - الاتجاه الذي يتم فيه التعداد (أقدم ، أحدث)
 * - إظهار عوامل التصفية التي تفي بهذه المعايير فقط (مُمكّن |! مُمكّن | محذوف |! محذوف | خاص |! خاص)
 * - أقصى عدد من المرشحات لإدراجها
 * - الخصائص التي يجب الحصول عليها (المعرف | الوصف | النمط | الإجراءات | الزيارات | التعليقات | lasteditor | lastedittime | الحالة | خاصة)

عندما تكون الفلاتر خاصة ، ستفقد بعض الخصائص المحددة باستخدام  ما لم تكن لديك صلاحيات المستخدم المناسبة.


 * أمثلة:

list = abuselog
سرد الحالات التي أدت فيها الإجراءات إلى تشغيل عامل تصفية إساءة استخدام.


 * Parameters :
 * - الطابع الزمني لبدء التعداد منه
 * - الطابع الزمني لإيقاف التعداد عند
 * - الاتجاه الذي يتم فيه التعداد (أقدم ، أحدث)
 * - اعرض فقط الإدخالات التي حاول فيها مستخدم معين أو عنوان IP هذا الإجراء.
 * - اعرض فقط الإدخالات التي يتضمن الإجراء فيها صفحة معينة.
 * - اعرض فقط الإدخالات التي أدت إلى تشغيل معرّف عامل التصفية المحدد
 * - الحد الأقصى لعدد الإدخالات في القائمة
 * - الخصائص التي يجب الحصول عليها: (ids|filter|user|ip|title|action|details|result|timestamp|hidden|revid|wiki)


 * مثال:



الأخطاء المحتملة

 * قد يواجه بعض المستخدمين فشل إنشاء عوامل تصفية جديدة أو تعديل عوامل التصفية القديمة ويتم إعادة توجيه المستخدم إلى الصفحة الأصلية. إذا كان Wiki يستخدم شهادات SSL ، فمن المحتمل أن يكون هذا الخطأ بسبب قيمة $ 1 ، والتي قد تستخدم "$ 2" بدلاً من "$ 3". سيكون مؤشر هذا الخطأ هو أن المتصفح يعطي تحذيرًا بـ https لصفحات $ 1. (2 $)



دمجه مع امتدادات أخرى
يمكنك دمج AbuseFilter مع امتداد آخر بطرق مختلفة.



إضافة متغيرات للتصفية
من الممكن إضافة متغيرات جديدة لاستخدامها في مرشحات إساءة الاستخدام. قائمة الأمثلة. للقيام بذلك ، يجب عليك:


 * أضف معالجًا للخطاف . لإضافة متغير ، يجب استخدام $ 1 ، حيث $ 2 هو اسم المتغير ، و $ 3 هو جزء من مفتاح i18n . سيكون المفتاح الكامل هو.
 * أضف رسائل i18n التي اخترتها في النقطة السابقة.
 * اختر معالج الخطاف حيث سيتم حساب المتغير. اعتمادًا على حالة الاستخدام الخاصة بك ، يمكنك:
 * تنفيذ الخطاف ؛  يتم التفكير في هذا بشكل خاص للمتغيرات المتعلقة بالصفحة ؛
 * تنفيذ الخطاف ؛  يتم التفكير في هذا بشكل خاص للمتغيرات المتعلقة بالمستخدم ؛
 * تنفيذ الخطاف ؛  هذا للمتغيرات غير المرتبطة بصفحة أو مستخدم معين ؛
 * تنفيذ الخطاف ؛  هذا أكثر مرونة قليلاً من الخطافات الأخرى ، لكن له جانبًا سلبيًا: لن يكون المتغير متاحًا عند فحص إدخالات RecentChanges السابقة. إذا كنت ترغب في تنفيذ هذه الميزة (ويوصى بذلك) ، يجب عليك استخدام أحد الخطافات المذكورة أعلاه ، واستخدام المعلمة الثالثة ($ 1).
 * داخل معالج الخطاف ، توجد طريقتان لإضافة متغير:
 * الطريقة "المباشرة" هي استدعاء . هذا مثالي فقط عندما تكون القيمة سهلة وسريعة الحساب: يتم حساب القيمة حتى لو لم يستخدمها أي مرشح نشط.
 * الطريقة "الكسولة" هي استدعاء . هنا ، "اسم_الطريقة" هو معرف (فريد) سيتم استخدامه لحساب المتغير (يوصى ببدءه باسم الامتداد الخاص بك). لتسجيل الطريقة ، يجب عليك إضافة معالج للخطاف $ 1 ؛ هنا ، يجب عليك التحقق مما إذا كانت الطريقة $ التي تم تمريرها تطابق اسم_الطريقة الخاصة بك ، وإذا كان الأمر كذلك ، فاحسب المتغير. أخيرًا ، المعلمات $ عبارة عن مجموعة من المعلمات التي ستحتاجها لحساب المتغير ؛  يتم تمرير هذه إلى معالج الخطاف computeVariable. للحصول على مثال على ذلك ، يمكنك التحقق من   الخاص بـ CentralAuth.



إضافة الإجراءات المخصصة
يمكنك إضافة معالجات الإجراءات المخصصة ، بحيث يمكن لكل عامل تصفية تنفيذ إجراءات أخرى. To do that, you choose a name for the action ('my-action' from now on), and then:


 * قم بإنشاء فئة باسم على سبيل المثال $ 1 ، يجب أن يمتد ذلك إلى $ 2 ، والذي يمكنه أيضًا تنفيذ $ 3 أو $ 4
 * أضف مشتركًا إلى الخطاف $ 1 ؛ يجب على المشترك توفير رد نداء كما هو موثق في توثيق الخطاف ، والذي يقوم بإرجاع مثيل للفئة التي تم إنشاؤها أعلاه ، على سبيل المثال:

ثم يجب عليك إضافة رسائل i18n التالية ؛ يمكنك استبدال "$ 1" على سبيل المثال  "$ 2" لمعرفة الغرض من الرسائل:





إضافة مجموعات القواعد
يمكنك أيضًا إضافة مجموعات قواعد إضافية ، والتي يمكن استخدامها لتجميع عوامل تصفية إساءة الاستخدام الحالية. لاحظ أنه في الوقت الحالي ، يمكن أن يكون كل مرشح في مجموعة واحدة فقط (T116642). حاليًا ، المستهلك الوحيد المعروف لهذه الميزة هو. للقيام بذلك ، يجب عليك:


 * إلحاق اسم المجموعة بـ $ groups
 * إضافة بعض التعليمات البرمجية لتشغيل المرشحات مع مجموعتك. لاحظ أن AbuseFilter لن يفعل ذلك بمفرده.  للقيام بذلك ، يجب عليك إنشاء كائن $ ، وتمرير اسم مجموعتك.



انظر أيضا

 * العديد من مواقع wiki الخاصة بتنسيق WMF حيث يتم تمكينها (وبأي تكوين)