Вставка JavaScript вызывает ошибку 403

Согласно предыдущим сообщениям на этом форуме, должно быть возможно вставить пользовательский код JavaScript в поля или темы по умолчанию, но при любой попытке сделать это появляется всплывающее окно с сообщением «ошибка 403». Учитывая, что я являюсь администратором, но не разработчиком, как мне добавить одну строку пользовательского JavaScript?

У вас может не быть разрешения на использование ресурсов скриптов из-за некоторых Referrer-Policy. Убедитесь, что доступ является публичным или что у вас есть другие необходимые права.

У меня та же проблема. Удалось ли вам её исправить, @Judith?

Даже тест с <script></script> выдаёт ошибку 403, поэтому я не уверен, связано ли это с политикой Referrer-Policy?

К сожалению, нет :frowning:

Не могли бы вы предоставить больше деталей о том, что именно вы пытаетесь добавить и куда? Это может помочь получить ещё больше ответов от сообщества.

Это не работает ни на одном уровне. Я перешел в Раздел «Тема по умолчанию» → «Редактировать CSS/HTML» → «Общие» → «Заголовок» и в качестве эксперимента попытался добавить:

<script>
alert("Test");
</script>

Но даже это не сработало — появилось всплывающее окно с сообщением «Ошибка 403», поэтому я даже не стал пробовать что-то более сложное.

У меня установлена система на DigitalOcean в точности по инструкции и обновлена до последней версии. Нужно ли что-то изменить в стандартной установке, чтобы можно было использовать JavaScript?

Давайте оставим это в стороне, так как, похоже, это всё же не пригодится...

Попробуйте добавить его как пользовательский компонент темы?

Быстрая инструкция:

  • Перейдите в /admin/customize/themes
  • Нажмите установить, а затем создать новый
  • Дайте ему имя и выберите «компонент».
  • Создать
  • Добавьте его в вашу тему
  • Нажмите кнопку Редактировать CSS/HTML и внесите необходимые изменения

И сохраните. :+1:


Хотя я также протестировал это в заголовке своей темы по умолчанию, и там всё сработало. Возможно, в вашей конфигурации есть какая-то особенность. Работает ли это, если вы попытаетесь запустить его в безопасном режиме?

Погодите, это звучит знакомо. У вас есть какие-либо расширения браузера, которые можно отключить? (Или попробуйте в режиме инкогнито). Есть ли в консоли более подробная информация об ошибках?

У вас есть какой-либо веб-приложенийный фаервол перед Discourse (например, CloudFlare или AWS WAF)? Возможно, он определяет это как атаку межсайтового скриптинга.

А как насчёт «Head», а не «Header»?

Эта ошибка не возникала ещё неделю назад на тестовом экземпляре Discourse, который у меня есть, а появилась на этой неделе.
Я перепробовал все возможные места, но, честно говоря, JS-код должен располагаться непосредственно перед закрывающим тегом body, а не в head, поэтому я хочу разместить его именно там (и именно так всё работало на прошлой неделе).

Просто появляется модальное окно с ошибкой 403, и всё.
Я убедился, что это не связано с компонентами или темой, но не уверен, не из-за ли какой-то настройки, которую я случайно изменил?