Насколько я вижу, загруженные HTML-файлы скачиваются как обычные файлы (например, архивы или PDF), поэтому решение об их открытии зависит от пользователя и настроек браузера (например, автоматическое открытие после загрузки и т.д.).
Однако в этой теме упоминается что-то касающееся XSS…
Насколько я понимаю, из скачанного файла нет возможности взаимодействовать со страницей Discourse?
Так что в худшем случае он может лишь отобразить какой-то фишинговый контент.
Именно по той же причине, по которой вы не хотите видеть фишинговые ссылки на сообществе? Discourse — это не система обмена сообщениями или хранилище файлов. Зачем использовать его только для загрузки HTML-файлов? Surely код лучше размещать где-то вроде GitHub?
Иногда удобнее просто загрузить HTML-файл, демонстрирующий какую-либо простую проблему и т. п. Если это всего один файл, то упаковка его в ZIP-архив создаёт лишь лишние трудности.
Форум предназначен в основном для разработчиков, поэтому можно с уверенностью предположить, что они знают, что делают при открытии загруженного файла, распознают попытки фишинга, не будут вводить там пароли, оперативно сообщат о проблеме и так далее.
Таким образом, единственное опасение заключается в том, возможно ли эксплуатировать какие-либо уязвимости, XSS и т. п. при загрузке HTML-файлов (по сравнению с ZIP-архивами, содержащими HTML-файлы).
Лично я предпочитаю вообще не скачивать никаких файлов. Мне гораздо проще увидеть код прямо в сообщении. Поэтому мой вопрос…
Есть ли какая-то причина, по которой HTML не добавляется напрямую в сообщения в виде блока кода?
<section>
<h1>Введение</h1>
<p>Люди ловили рыбу в пищу ещё до начала записанной истории…</p>
</section>
<section>
<h1>Оборудование</h1>
<p>Первое, что вам понадобится, — это удочка или спиннинг, которыми вам удобно пользоваться и которые достаточно прочны для того вида рыбы, на которую вы рассчитываете…</p>
</section>
...
Так код будет сразу виден, не потребуется скачивать никаких файлов и это не займёт много места в сообщении — ведь мы принудительно добавляем полосы прокрутки к блокам кода, превышающим определённую высоту. Кроме того, это не несёт никаких рисков для безопасности, поскольку код вообще не будет интерпретироваться.
Я могу подробнее рассказать об этом, если такое решение вам подходит.
Да, я согласен, что обычно лучше делать именно так, но иногда люди всё же предпочитают прикреплять файлы, например, когда они слишком большие или когда нужно показать какой-то визуальный дефект (это проще, чем копировать и вставлять в новый файл и т. д.).