# "review media unless trust level" 设置导致包含表情符号的评论

**URL:** https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189
**Category:** Bug
**Created:** [2022年六月16日 15:02 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189 "2022-06-16T15:02:35Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![max-rosenfors](https://avatars.discourse-cdn.com/v4/letter/m/e56c9b/32.png) [@max-rosenfors](https://meta.discourse.org/u/max-rosenfors)
#### Post date: [2022年六月16日 15:02 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/1 "2022-06-16T15:02:35Z")

</div>

我们在网站上使用 `review_media_unless_trust_level` 设置来审核特定信任级别的用户发布的包含图片的论坛帖子。这效果很好，但如果它也导致只包含表情符号和纯文本的帖子被审核，那么这个过滤器就太严格了。

很高兴审核会触发“非图片情况”，例如嵌入式链接，因此保持过滤器普遍敏感是很棒的。但据我所知，网站上的所有表情符号都由论坛本身托管和确定，所以我认为允许人们发布他们喜欢的任何表情符号没有危险。🚀 🕶

是否可以使此设置忽略只包含表情符号和纯文本的帖子？

相关：

- [提议：审核带媒体的帖子](https://meta.discourse.org/t/proposal-review-posts-with-media/162276)
- Github：[功能：审核带媒体的帖子。#10693](https://github.com/discourse/discourse/pull/10693)

_[编辑：我无法在此帖标题中使用正确的设置名称，单词之间使用了下划线。论坛告诉我帖子的标题似乎很模糊，并且“单词太长”。]_

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年一月30日 19:00 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/2 "2023-01-30T19:00:58Z")

</div>

更糟糕的是，我认为帖子可能会因为非 ASCII 字符而被阻止——我有一篇帖子刚刚进入我的审核队列，我唯一能看到可能是原因的是它使用了 `“` 和 `”` 作为引号。

嗯，还有名字里用了 `ã`。我希望\_那\_不是原因！

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2023年一月30日 19:20 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/4 "2023-01-30T19:20:50Z")

</div>

抱歉回复晚了。我刚在我的测试站点上运行了它，并且能够触发表情符号，这似乎过于敏感了。我不确定它们是否密不可分，但我会尽力找出原因。👍

> [@mattdm](#):
>
> 更糟糕的是，我认为帖子可能会因为非 ASCII 字符而被阻止——我有一个帖子刚刚进入我的审核队列，我能看到的唯一可能的原因是它使用了 `“` 和 `”` 作为引号。
> 
> 嗯，还有 `ã` 作为某人名字的一部分。我希望 _那_ 不是原因！

但我无法通过引号或 `ã` 来触发它。是我遗漏了什么吗？

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/c/3/1c3bbfa7e6906a5e76e38a8af1a01f712c1f8abf.png)

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年一月30日 19:51 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/5 "2023-01-30T19:51:59Z")

</div>

> [@JammyDodger](#):
>
> 我无法让它触发引语或 `ã`。是我遗漏了什么吗？

不确定——只是我有一个帖子在审核队列中，我认为它只能是这些。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年三月6日 04:14 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/11 "2023-03-06T04:14:03Z")

</div>

> [@mattdm](#):
>
> 不确定——只是我在审核队列中有一篇帖子，我认为_可能_是这些。

我不认为这可能是原因，看看：

> <https://github.com/discourse/discourse/blob/710565f409b71d47f6e53c466c069e25eee847e0/lib/new_post_manager.rb#L117-L117>

我们要求必须提供图片大小……不幸的是，表情符号被视为图片，因为它们有大小，所以它们会被触发。

修复起来应该相当直接，但我们需要引入一些内部跟踪，在确定大小时将图片与表情符号分开。

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月6日 09:45 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/12 "2023-03-06T09:45:18Z")

</div>

> [@sam](#):
>
> 我认为不可能是这种情况，看看：

这是我遇到这种情况的例子：

[https://meta.discourse.org/t/why-did-this-post-get-held-for-moderation/253048/2?u=mattdm](https://meta.discourse.org/t/why-did-this-post-get-held-for-moderation/253048/2?u=mattdm)

（抱歉非工作人员将私人链接放在公开主题中——因为它包含某人的名字，所以我将其视为敏感信息）

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [2023年三月6日 10:33 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/13 "2023-03-06T10:33:47Z")

</div>

> [@mattdm](#):
>
> 因为它包含某人的名字

不包含。但随便你 😉

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月6日 10:36 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/14 "2023-03-06T10:36:34Z")

</div>

好的，是的，你在这方面很严谨。🙂 链接不包含名称，但链接到的内容包含。🙂

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年三月6日 21:27 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/15 "2023-03-06T21:27:12Z")

</div>

哦，那将是引述中的头像（在您的截图中已隐藏，因为它可能很敏感 🤦‍♂️\_ ）  
同样的问题，但家庭不同。我们也会解决的。工作已排队，将在未来 20 个工作日内完成。

- 不计算表情符号图片
- 不计算引述中的用户头像图片

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2023年三月7日 22:39 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/17 "2023-03-07T22:39:55Z")

</div>

快速查看了这个问题，问题似乎源于 [https://github.com/discourse/discourse/commit/f85f73be88399d4bd1efa8efa058ac56119bf3a8，因为我们使用客户端发送的](https://github.com/discourse/discourse/commit/f85f73be88399d4bd1efa8efa058ac56119bf3a8%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%8F%91%E9%80%81%E7%9A%84) `imageSizes` 来检查“除非信任级别，否则审核媒体”。

> <https://github.com/discourse/discourse/blob/2781264711ff7b497a12a7dd11e95cb3402ed8e6/lib/new_post_manager.rb#L116-L121>

我们应该改用服务器来执行检查，并做一些类似的事情

> <https://github.com/discourse/discourse/blob/2781264711ff7b497a12a7dd11e95cb3402ed8e6/lib/cooked_post_processor.rb#L134-L147>

在检查用户添加到帖子中的媒体之前。

我不知道我们在 `NewPostManager` 中是否可以访问“经过 nokogiri 处理”版本的帖子，如果不行，它可能会对性能产生多大的影响 🤔

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2023年三月8日 16:49 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/19 "2023-03-08T16:49:39Z")

</div>

> [@zogstrip](#):
>
> 因为我们使用客户端发送的 `imageSizes` 来检查 `review media unless trust level`

我们这样做有点奇怪，并且在客户端，我们通过查询预览来检测“图像”，这也不是理想的做法。

[https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/composer.js#L1008-L1018](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/composer.js#L1008-L1018)

这里有很大的重构空间，但在此期间，我们可以将表情符号和头像排除在发送 `imageSizes` 到有效负载之外。我检查过，表情符号和头像根本不使用图像大小，所以这样做似乎是安全的：[FIX: Don't send image sizes for emojis/avatars by pmusaraj · Pull Request #20589 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/20589)

正如 PR 描述中所指出的，onebox 图像也会将帖子发送到审核队列，但当启用此设置时，我认为这是一个可取的副作用。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年七月24日 02:35 UTC](https://meta.discourse.org/t/review-media-unless-trust-level-setting-causes-reviews-with-emojis/230189/28 "2023-07-24T02:35:36Z")

</div>


