Extension:AbuseFilter/ar

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

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

الإعداد


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

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

معاملات


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

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

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

Throttled filters can be identified in the list of filters (Special:AbuseFilter) with the state,. يحدث الاختناق بصمت ، ولا توجد طريقة لمعرفة متى يتم اختناق الفلتر.

عندما يتم تقييد أحد الفلاتر ، فإنه لا يؤدي أي إجراء خطير (عادةً ما تقتصر الإجراءات على حقوق خاصة مثل حظر المستخدم ، أو إزالته من المجموعات ، التي يتحكم فيها $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)


 * مثال:



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

 * قد يواجه بعض المستخدمين فشل إنشاء عوامل تصفية جديدة أو تعديل عوامل التصفية القديمة ويتم إعادة توجيه المستخدم إلى الصفحة الأصلية. If the Wiki is using SSL certificates, this error could possibly be because of the value, which might be using "http://" instead of "https://". An indication of this error will be, the browser giving https warning for Special:AbuseFilter pages. (Topic:T23dyyih0ofjada5)



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



إضافة متغيرات للتصفية
It is possible to add new variables, to be used in abuse filters. A list of examples. To do that, you should:


 * أضف معالجًا للخطاف . To add a variable, you should use, where   is the name of the variable, and   is the fragment of an i18n key. سيكون المفتاح الكامل هو.
 * أضف رسائل i18n التي اخترتها في النقطة السابقة.
 * اختر معالج الخطاف حيث سيتم حساب المتغير. اعتمادًا على حالة الاستخدام الخاصة بك ، يمكنك:
 * تنفيذ الخطاف ؛  يتم التفكير في هذا بشكل خاص للمتغيرات المتعلقة بالصفحة ؛
 * تنفيذ الخطاف ؛  يتم التفكير في هذا بشكل خاص للمتغيرات المتعلقة بالمستخدم ؛
 * تنفيذ الخطاف ؛  هذا للمتغيرات غير المرتبطة بصفحة أو مستخدم معين ؛
 * تنفيذ الخطاف ؛  هذا أكثر مرونة قليلاً من الخطافات الأخرى ، لكن له جانبًا سلبيًا: لن يكون المتغير متاحًا عند فحص إدخالات RecentChanges السابقة. If you want to implement that feature (and it's recommended to do so), you should use one of the hooks listed above, and use its third parameter.
 * داخل معالج الخطاف ، توجد طريقتان لإضافة متغير:
 * الطريقة "المباشرة" هي استدعاء . هذا مثالي فقط عندما تكون القيمة سهلة وسريعة الحساب: يتم حساب القيمة حتى لو لم يستخدمها أي مرشح نشط.
 * الطريقة "الكسولة" هي استدعاء . هنا ، "اسم_الطريقة" هو معرف (فريد) سيتم استخدامه لحساب المتغير (يوصى ببدءه باسم الامتداد الخاص بك). To register the method, you should add a handler for the hook; therein, you should check if the $method passed matches your 'method_name', and if so, compute the variable. Lastly, $params is an array of parameters that you'll need to compute the variable; these are passed to the computeVariable hook handler. للحصول على مثال على ذلك ، يمكنك التحقق من   الخاص بـ CentralAuth.



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


 * Create a class named e.g. MyAction, that should extend \MediaWiki\Extension\AbuseFilter\Consequence, which can also implement HookAborterConsequence or ConsequencesDisablerConsequence
 * Add a subscriber to the AbuseFilterCustomActions hook; the subscriber should provide a callback as documented in the hook documentation, that returns an instance of the class created above, for instance:

Then you should add the following i18n messages; you can replace 'my_action' with e.g. 'block' to see what the messages are for:





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


 * Append the name of the group to
 * Add some code to run the filters with your group. Note that AbuseFilter won't do that on its own. To do that, you should construct an  object, passing in the name of your group.



انظر أيضا

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