通过 API 删除上传内容

该用例是使用 activepiecesdata explorer 和 API 在“人在回路”自动化工作流程中,对上传内容进行时间敏感性的移除。

目标是让普通版主能够有一种简单的方式,自信地立即完全移除上传内容,同时全面覆盖所有已知的破坏上传引用的情况,并自动清除特定 URL 的 CDN(对于代理头像的情况,则清除基于用户名的 URL 前缀)。


测试时,我很高兴地看到,当销毁上传内容时,头像、个人资料背景和卡片背景引用会自动处理。

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

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


主要有两种场景:“焦土政策”和“外科手术式移除”。以下是“焦土政策”的进行中工作:


转换为上传哈希列表:

  • 头像 URL(使用正则表达式提取用户名)→ 通过数据探索器查询获取头像哈希(哈希不在 URL 中)

  • 主题/帖子 URL → 使用数据探索器收集该帖子中使用的所有上传哈希

  • 直接原始/优化上传 URL(包括个人资料背景和卡片背景)→ 使用正则表达式提取哈希


然后对每个哈希进行查询,以查找所有出现的地方(一次一个数据探索器查询,涵盖所有情况):

  • 用户名/ID 列表,用于曾将其用作头像的用户

  • 用户名/ID 列表,用于曾将其用作个人资料背景的用户

  • 用户名/ID 列表,用于曾将其用作卡片背景的用户

  • 使用此上传的所有帖子(原始)列表


操作:

  • 暂停所有曾将该上传用作头像、个人资料背景或卡片背景的用户

  • 暂停所有引用目标上传的用户帖子,但如果其引用嵌套在引用中则排除

  • 删除所有主题

  • 删除所有帖子

  • 销毁上传(没有 API 端点)

  • 清除所有 CDN URL(优化/未优化)

  • 清除代理头像 URL 的标准前缀,针对每个相关用户名(以覆盖所有尺寸)


“外科手术式移除”场景基本上是相同的,但不暂停相关用户,并且在从帖子/主题 URL 收集所有上传哈希方面需要进行一些更改。

可能仍然需要删除帖子/主题本身以避免引用断裂,但如果可能,剥离该特定上传的上传 Markdown(不触及其他上传)会更好。类似于这个自动化,但它会剥离所有上传的 Markdown 引用。


理想情况下,我希望能够阻止哈希,这样在完成上述操作后,某人就不能简单地创建一个新帐户并重新上传。:melting_face: :coffin:

我不认为普通版主目前可以做到,比如通过使用监视词。所以,对哈希列表进行上述那样的定期扫描可能是处理这种情况的一种方法。

1 个赞