Cancellazione caricamento tramite API

Il caso d’uso è per la rimozione di upload sensibile al tempo come parte dei flussi di lavoro di automazione human-in-the-loop utilizzando activepieces, data explorer e l’API.

L’obiettivo è consentire ai moderatori regolari di avere accesso a un modo semplice per rimuovere in modo sicuro e completo gli upload immediatamente senza accesso SSH e coprire in modo esaustivo tutti i casi noti per la rottura dei riferimenti agli upload, oltre a eseguire il purge automatico tramite CDN degli URL specifici (e nel caso di avatar con proxy, il prefisso URL basato sul nome utente).


Sono stato sollevato quando, testando, ho visto che i riferimenti ad avatar, sfondo del profilo e sfondo della card vengono gestiti automaticamente quando un upload viene distrutto.

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

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


I due scenari principali sarebbero “terra bruciata” e “rimozione chirurgica”. Questo è il lavoro in corso per la terra bruciata:


Conversione in una lista di hash degli upload:

  • URL degli avatar (estrai il nome utente usando regex) → ottieni l’hash dell’avatar tramite query data explorer (l’hash non è nell’URL)

  • URL di topic/post → raccogli tutti gli hash degli upload utilizzati in quel post usando data explorer

  • URL di upload originali/ottimizzati diretti (inclusi sfondo del profilo e sfondo della card) → estrai gli hash usando regex


Quindi esegui una query su ciascun hash per trovare tutte le occorrenze (una query data explorer per coprire tutti i casi, un hash alla volta):

  • lista nome utente/ID, per gli utenti che lo hanno utilizzato per un avatar

  • lista nome utente/ID, per gli utenti che lo hanno utilizzato per uno sfondo del profilo

  • lista nome utente/ID, per gli utenti che lo hanno utilizzato per uno sfondo della card

  • lista di tutti i post (raw) che utilizzano questo upload


Azioni:

  • sospendi tutti gli utenti che hanno utilizzato l’upload per un avatar, sfondo del profilo o sfondo della card

  • sospendi tutti gli utenti che hanno post che fanno riferimento all’upload di destinazione, ma escludi se il loro riferimento è annidato all’interno di una citazione

  • elimina tutti i topic

  • elimina tutti i post

  • distruggi l’upload (nessun endpoint API)

  • esegui il purge di tutti gli URL CDN (ottimizzati/non ottimizzati)

  • esegui il purge del prefisso standard per gli URL degli avatar con proxy per ciascun nome utente associato (per coprire tutte le dimensioni)


Lo scenario di rimozione chirurgica sarebbe essenzialmente lo stesso, ma senza sospendere gli utenti associati e richiederebbe alcune modifiche per quanto riguarda la raccolta di tutti gli hash degli upload dagli URL dei post/topic.

Probabilmente eliminare comunque i post/topic stessi per evitare riferimenti interrotti, ma rimuovere il markdown dell’upload per quell’upload specifico (senza toccare altri upload) sarebbe superiore se possibile. Come questa automazione se non rimuovesse tutti i riferimenti agli upload nel markdown.


Idealmente vorrei essere in grado di bloccare anche gli hash, in modo che dopo aver eseguito quanto sopra, qualcuno non possa semplicemente creare un nuovo account e ricaricare. :melting_face: :coffin:

Non penso sia attualmente possibile per un mod regolare, come usando le parole osservate (watched words). Quindi forse eseguire una scansione periodica come quella sopra per una lista di hash sarebbe un modo per gestirlo.

1 Mi Piace