Way to bulk process/delete flagged registrations?

Hi everyone - for the past few days, our forums have been getting a lot of spam registrations that are properly being flagged for us to review. The problem is the large quantity of them every few hours:

Is there a way to quickly review and do a bulk edit so that we don’t have to click on each entry and click again to select the delete + ban option? That gets pretty tedious after some time.

إعجابَين (2)

As an alternative, can we just auto-delete users who fall into this category:

إعجاب واحد (1)

You are catching up on a backlog of old spam profiles. Once you fully catch up you should be ok.

مرحباً جيف، الفريق - كمية البريد العشوائي التي نتلقاها مرتفعة جدًا، ولدينا حوالي 30-40 منشورًا تم وضع علامة عليها للمراجعة يوميًا. إنها الكثير من النقرات المتكررة. هل تم تقديم أي تقنيات جديدة لجعل هذا الأمر أقل مللًا؟

مرحباً @kirupa

لقد واجهت نفس المشكلة بطريقة ما.

لقد قمنا بمراجعة آلاف المشاركات/المستخدمين الذين تم تمييزهم تلقائيًا (النظام و Akismet) على منتداي.
كانت دقة كل من النظام و Akismet قريبة جدًا من 100٪ (إيجابي خاطئ واحد على حد علمي مقابل 2500 علامة). هذا ليس هو الحال في كل منتدى، لذلك يجب أن تكون متأكدًا مما تفعله إذا كنت ترغب في أتمتة حظر المستخدمين الذين تم تمييزهم تلقائيًا.

في النهاية، قمت بإنشاء برنامج PHP باستخدام بيانات Discourse webhook:

لقد أنشأت أولاً الـ webhook:

ثم استخدمت Use Discourse webhooks with PHP لاستقبال الطلب وتحليل البيانات.

لقد أضفت رمزًا مخصصًا لتشغيل الحظر التلقائي عن طريق إرسال طلب API إلى Discourse، بناءً على معايير اعتباطية:

إليك الرمز النهائي:

<?php

// التحقق فورًا من صحة الطلب.
if (array_key_exists('HTTP_X_DISCOURSE_EVENT_SIGNATURE', $_SERVER)) {
    $discourse_payload_raw = file_get_contents('php://input');
    $discourse_payload_sha256 = substr($_SERVER['HTTP_X_DISCOURSE_EVENT_SIGNATURE'], 7);
    
    // للأمان، قم بتكوين الـ webhook مع سر في Discourse وضعه أدناه.
    $discourse_payload_secret = 'xxxxxxxxxxxxxxxxxxxxx';
    
    // التحقق من أن الطلب تم إرساله من webhook مصرح به.
    if (hash_hmac('sha256', $discourse_payload_raw, $discourse_payload_secret) == $discourse_payload_sha256) {
        echo 'received';
    }
    else {
        die('authentication failed');
    }
}
else {
    die('access denied');
}

// إعداد الحمولة للاستخدام في برنامج PHP.
$discourse_json = json_decode($discourse_payload_raw);

$reviewable = $discourse_json->reviewable;

// إعداد عنوان URL لواجهة برمجة التطبيقات
$api_url = "https://unicyclist.com/review/$reviewable->id/perform/delete_user?version=0";

// التحقق من أن خصائص "type" و "score" صالحة
if (($reviewable->type == "ReviewableUser" || $reviewable->type == "ReviewableAkismetUser" || $reviewable->type == "ReviewableQueuedPost") && $reviewable->score > 0) {
  // إعداد خيارات curl
    $options = array(
        CURLOPT_URL => $api_url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CUSTOMREQUEST => "PUT", // تعيين طريقة الطلب إلى PUT
        CURLOPT_HTTPHEADER => array(
            "Api-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "Api-Username: system"
        )
    );
    // تهيئة جلسة curl
    $curl = curl_init();
    curl_setopt_array($curl, $options);
    // إجراء استدعاء API
    $response = curl_exec($curl);
    curl_close($curl);
    // فك تشفير الاستجابة
    $response_data = json_decode($response);
    print_r($response_data);
}   else {
    exit;
}

?>

إنه يعمل بشكل مثالي حتى الآن.

:warning: لاحظ أن رمزي قد يكون خطيرًا جدًا للاستخدام في سياق آخر ويجب التفكير في المحتوى بعناية.

على سبيل المثال، قد يتم تعيين علامة “ReviewableUser” على المستخدمين في المنتديات التي تحتاج إلى التحقق من صحة المستخدمين يدويًا (لا أعرف ما إذا كان هذا هو الحال، إنه مجرد مثال). قد تكون المنتديات الأخرى قد غيرت عتبات اكتشاف البريد العشوائي في إعداداتها، أو قد يكون الاكتشاف التلقائي أقل دقة ببساطة في منتداها.

3 إعجابات

شكراً للمشاركة - قد أضطر إلى استخدام شيء كهذا! أتمنى لو أن Discourse يدعم هذا سير العمل تلقائيًا :slight_smile:

لقد كنت أستخدم حل @Canapin على منصة Discourse الشخصية الخاصة بي، ولكن لدي أيضًا إعداد منفصل لشركة أخرى. أفضل عدم استخدام هذا البرنامج النصي على حلهم.

هل هناك تحديث من فريق Discourse حول الأساليب البديلة؟ ينطبق هذا على كل من التسجيلات التي تم الإبلاغ عنها وكذلك المشاركات التي تم الإبلاغ عنها كرسائل غير مرغوب فيها:

حتى الآن، لم نخطط لشيء لإضافة إجراءات جماعية إلى قائمة المراجعة، ولكن إذا كان بإمكانك إنشاء طلب ميزة لها، فيمكننا قياس شعبية الاقتراح بسهولة أكبر، مما قد يلفت انتباهه.