Adicionar texto entre caracteres \u003c\u003e renderiza um post vazio. (Exemplo neste post)

Texto oculto abaixo:

<OnlyTwentyCharacters>

Isso se transforma em uma tag HTML não permitida e é removido por segurança. Não é um bug.

Use &lt; se quiser começar sua postagem com um <.

3 curtidas

Obrigado pela explicação. Eu também pensei o mesmo.

Existe uma função no Discourse que simplesmente remove o HTML não permitido? O caso de uso é:

No plugin Custom Wizard, queremos impedir que um usuário envie uma postagem cujo número total de caracteres, excluindo esses caracteres removidos, seja inferior ao limite mínimo de caracteres.

Além disso, agora que estou pensando melhor, isso é relevante também para o Discourse. Não faz sentido impedir o envio se o conteúdo renderizado for inferior ao limite mínimo de caracteres? Sei que isso é bem mais complexo do que parece.

Quando encontramos o mesmo problema, simplesmente os delimitamos com MD.

<aqui está o conteúdo bom>

<aqui está o conteúdo legal>

```<aqui está o conteúdo bom>```

`<aqui está o conteúdo legal>`

Trapaceiros vão trapacear. O Unicode é um monstro enorme e há muitas situações de borda que as pessoas podem explorar para simular posts em branco que não são realmente vazios.

É aí que entra a moderação.

Não tenho certeza se existe um gancho que você possa usar, mas acho que você poderia inserir algo no StrippedLengthValidator.

Estou meio aberto a adicionar um gancho lá, para que você possa fazer isso sem precisar de monkey patching.

5 curtidas

Editei a OP, pois ela estava sendo sinalizada como vazia pela validação do esquema QAPage.

1 curtida

@sam

Conseguimos explicar isso para alguém que havia levantado sua preocupação; além disso, estamos pulando as validações de modelo no contexto do plugin Custom Wizard.

Mas, em relação ao núcleo do Discourse, que tal impedir o envio de uma postagem se a versão cozida for menor que min post length?

Não tenho certeza sobre isso; não seria intuitivo para o usuário. Haverá casos extremos em que o texto bruto é mais longo que o formatado e isso é legítimo.

4 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.