Suppression de l'envoi via l'API

Le cas d’utilisation concerne la suppression des téléchargements nécessitant une intervention rapide dans le cadre de flux de travail d’automatisation avec intervention humaine, en utilisant activepieces, l’explorateur de données et l’API.

L’objectif est de permettre aux modérateurs réguliers d’avoir accès à un moyen simple de supprimer complètement et en toute confiance les téléchargements immédiatement, sans accès SSH, et de couvrir de manière exhaustive tous les cas connus de rupture des références de téléchargement, ainsi que de purger automatiquement le CDN des URL spécifiques (et dans le cas des avatars proxifiés, le préfixe d’URL basé sur le nom d’utilisateur).


J’ai été soulagé en testant de voir que les références aux avatars, aux arrière-plans de profil et aux arrière-plans de carte sont gérées automatiquement lorsqu’un téléchargement est détruit.

https://github.com/discourse/discourse/commit/e1975e293f2625259e925b4a3c93d88d5acfcaa8

https://github.com/discourse/discourse/commit/38e7b1a0492dd4282c3cd3b1ddb2b3343661d31f


Les deux scénarios principaux seraient la « terre brûlée » et la « suppression chirurgicale ». Voici le travail en cours pour la terre brûlée :


Conversion en une liste de hachages de téléchargement :

  • URL d’avatar (extraire le nom d’utilisateur à l’aide d’une expression régulière) → obtenir le hachage de l’avatar via une requête d’explorateur de données (le hachage n’est pas dans l’URL)

  • URL de sujet/message → collecter tous les hachages de téléchargement utilisés dans ce message à l’aide de l’explorateur de données

  • URL de téléchargement originales/optimisées directes (y compris l’arrière-plan de profil et l’arrière-plan de carte) → extraire les hachages à l’aide d’une expression régulière


Ensuite, interroger chaque hachage pour trouver toutes les occurrences (une requête d’explorateur de données pour couvrir tous les cas, un seul hachage à la fois) :

  • liste de noms d’utilisateur/ID, pour les utilisateurs qui l’ont utilisé comme avatar

  • liste de noms d’utilisateur/ID, pour les utilisateurs qui l’ont utilisé comme arrière-plan de profil

  • liste de noms d’utilisateur/ID, pour les utilisateurs qui l’ont utilisé comme arrière-plan de carte

  • liste de tous les messages (bruts) qui utilisent ce téléchargement


Actions :

  • suspendre tous les utilisateurs qui ont utilisé le téléchargement pour un avatar, un arrière-plan de profil ou un arrière-plan de carte

  • suspendre tous les utilisateurs qui ont des messages faisant référence au téléchargement cible, mais exclure si leur référence est imbriquée dans une citation

  • supprimer tous les sujets

  • supprimer tous les messages

  • détruire le téléchargement (pas de point de terminaison API)

  • purger toutes les URL CDN (optimisées/non optimisées)

  • purger le préfixe standard pour les URL d’avatar proxifiées pour chaque nom d’utilisateur associé (pour couvrir toutes les tailles)


Le scénario de suppression chirurgicale serait essentiellement le même, mais sans suspendre les utilisateurs associés et nécessiterait quelques changements concernant la collecte de tous les hachages de téléchargement à partir des URL de messages/sujets.

Probablement toujours supprimer les messages/sujets eux-mêmes pour éviter les références cassées, mais supprimer le balisage de téléchargement pour ce téléchargement spécifique (sans toucher aux autres téléchargements) serait supérieur si possible. Comme cette automatisation si elle ne supprimait pas toutes les références de téléchargement en markdown.


Idéalement, j’aimerais pouvoir bloquer également les hachages, afin qu’après avoir parcouru ce qui précède, quelqu’un ne puisse pas simplement créer un nouveau compte et le télécharger à nouveau. :melting_face: :coffin:

Je ne pense pas que ce soit possible actuellement pour un modérateur ordinaire, par exemple en utilisant des mots surveillés. Donc, peut-être qu’un balayage périodique comme celui ci-dessus pour une liste de hachages serait un moyen de gérer cela.

1 « J'aime »