隐藏文本如下:
<OnlyTwentyCharacters>
隐藏文本如下:
<OnlyTwentyCharacters>
这会变成一个不允许的 HTML 标签,出于安全考虑会被移除。这不是漏洞。
如果您希望帖子以 < 开头,请使用 <。
感谢解释。我也这么认为。
Discourse 中是否有函数可以简单地移除不允许的 HTML?使用场景是:
在 Custom Wizard 插件中,我们希望禁止用户提交帖子,如果移除这些被剥离的字符后,帖子的总字符数仍低于最小字符限制。
此外,现在想来,这也与 Discourse 相关。如果渲染后的内容少于最小字符限制,禁止提交是否合理?我知道这比听起来要复杂得多。
当我们遇到相同的问题时,我们只需使用 Markdown 将其隔离。
<here is the good stuff>
<here is the sweet stuff>
```<here is the good stuff>```
`<here is the sweet stuff>`
作弊者总会作弊。Unicode 是个庞然大物,存在许多边界情况,人们可以利用它们来模拟看似空白实则非空白的帖子。
这正是 Moderation(审核机制)发挥作用的地方。
我不确定我们是否有可供你使用的钩子(hook),但我想你可以在 StrippedLengthValidator 中插入逻辑来实现。
我原则上不反对在那里添加一个钩子,这样你就可以无需进行“猴子补丁”(monkey patching)就能实现该功能。
已编辑首帖,因为 QAPage 架构验证将其标记为空。
@sam
我们成功向提出疑虑的人解释了这一点。此外,在 Custom Wizard 插件的上下文中,我们跳过了模型验证。
不过,就 Discourse 核心而言,如果帖子的“cooked”版本长度小于 min post length,是否可以考虑禁止提交该帖子?
我不太确定这一点,这对用户来说可能不够直观。确实存在一些边缘情况,其中原始文本比渲染后的文本更长,且这种情况是合理的。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.