Добавьте расширение .svg к "файлам изображений"

Один из форумов Discourse, которыми я пользуюсь, по умолчанию разрешает только «файлы изображений», однако .svg-файлы помечаются как «не авторизованные», хотя .svg — это тоже изображения, просто векторные, а не растровые, что позволяет масштабировать их без потери качества. Кроме того, размеры файлов сопоставимы, а в некоторых случаях даже меньше: когда я конвертировал .png в .svg:

  • Файл .png занимал 8190 байт.
  • Файл .svg занимал 4273 байта.

Так есть ли какая-то причина, по которой .svg-файлы не рассматриваются как файлы изображений?

2 лайка

Администратор определяет принимаемые типы файлов. По умолчанию SVG не включён, но его можно добавить через настройку authorized_extensions. Если вы обратитесь к администратору, возможно, он рассмотрит этот вопрос?

5 лайков

Проблема в том, что администраторы игнорируют личные сообщения, о чем свидетельствует одно из них:

Кроме того, они игнорируют 99,9% тем на форумах.

2 лайка

Есть ли категория #site-feedback, в которой можно делать такие запросы? Или, возможно, связаться с ними по адресу электронной почты, указанному на странице «О форуме» (/about)?

1 лайк

Разве это не потенциальный риск для безопасности, если файл не очищен?

1 лайк

Боюсь, я не знаю полного ответа на этот вопрос, но, кажется, Discourse выполняет некоторую проверку в рамках процесса загрузки?

2 лайка

Это не та проблема, которую можно решить здесь. Если вам не нравится, как управляется форум, то не пользуйтесь им или создайте свой собственный.

4 лайка

@pfaffman, я считаю, что разумные настройки по умолчанию означают меньше дублирования усилий. Я мог бы попросить всех администраторов включить загрузку SVG, как это сделали другие:

…или я мог бы попросить Meta установить это как настройку по умолчанию. В этом вопросе я согласен с @Ondrashek06.

Что ж, прошло 4 года, и я полностью согласен!

Вот, я попробую сделать так:

3 лайка

@pfaffman, спасибо!

1 лайк

Возможно, есть причина, которую я не понимаю, из-за которой включать это по умолчанию — плохая идея. :person_shrugging:

1 лайк

@pfaffman, я предполагаю, что это санитизация, поскольку это очень мощный формат. Однако, учитывая, что поддерживается встроенный HTML, и другие форумы поддерживают SVG, это точно не непреодолимое препятствие, особенно потому, что они, по-видимому, разрешены здесь:

Для демонстрации ниже приведён SVG:

1 лайк

Итак…

SVG-файлы проходят санитизацию.

Когда я изучал код, я пришёл к выводу, что санитизация довольно надёжна, и это дало мне уверенность включить её на своём сайте.

Я понимаю, если CDCK не хочет брать на себя ответственность за такое решение для всех, особенно учитывая, что санитизированные SVG не покрывают все возможные сценарии использования. Например, на моём сайте иногда публикуют SVG-файлы, предназначенные для лазерной резки, и иногда изменения, вносимые в процессе санитизации, незаметно делают их непригодными для этой цели.

Поэтому я понимаю нежелание включать эту функцию по умолчанию, даже если для меня при настройке это было лишь незначительным неудобством.

3 лайка

@mcdanlj, Blender, вероятно, через плагин, позволяет загружать файлы. Это не применимо по умолчанию, но может помочь вашему форуму, так как ваши SVG-файлы в основном используются для целей, отличных от встроенного отображения.

1 лайк

В моём случае нам иногда нужны оба варианта… Поэтому люди будут загружать ZIP-файл, где важно, чтобы мы проверяли его побайтово. В девяти случаях из десяти нам полезнее просто просмотреть его онлайн, даже с очисткой.

(Да, мы бы очень хотели и съесть торт, и оставить его целым! :rofl:)

@mcdanlj, я не уверен, что рендеринг несанкционированных встроенных SVG-файлов вообще теоретически возможен. :sweat_smile:

Я не это имел в виду; неочищенные встроенные SVG-изображения представляют собой вектор атаки через CSS.

Я имел в виду возможность выбора при загрузке: следует ли очищать изображение для отображения в виде SVG или оставлять его в неизменном виде как файл для загрузки. Но на самом деле ещё более идеально было бы очищать SVG для отображения, но при нажатии на кнопку «Скачать» предоставлять оригинальную неочищенную версию.

Это не серьёзное предложение по улучшению функционала. Просто это было бы идеально для одного странного случая использования. :smiley:

1 лайк

@mcdanlj, потому что, как мне кажется, именно плагин обеспечивает возможности загрузки файлов в Blender. Если у вас тоже так, то стоит создать запрос на добавление функции (FR) в трекере задач репозитория этого плагина. Если же эта функция реализована в ядре, я согласен, что это было бы очень полезно, но, возможно, лучше обсудить это в отдельном сообщении.

Спасибо @pfaffman, я довел это до сведения команды, и мы согласны, что теперь это имеет смысл по умолчанию. Я одобрил и объединил PR :slight_smile:

2 лайка