Inserting Javascript yields 403 error

According to previous posts in this forum, it should be possible to insert custom Javascript code into the or fields of the default theme, but whenever I try to do so, I get a popup saying “403 error”. Given that I am the admin but not a developer, how can I add my one line of custom Javascript?

「いいね!」 2

You may have no permission to using the scripts resources by some Referrer-Policy, make sure it’s public access or others right permission.

私も同じ問題を抱えています。解決できましたか、@Judith さん?

<html><script></script></html> でテストしても 403 が返ってくるので、Referrer-Policy の問題なのかどうか分かりません。

残念ながら、そうではありません :frowning:

追加しようとしているものと、それがどこにあるのかについて、もう少し詳しく教えていただけますか?そうすれば、コミュニティからの回答がもっと得られるかもしれません。

「いいね!」 1

どのレベルでも失敗します。デフォルトテーマ > CSS/HTMLの編集 > 一般 > ヘッダーに移動し、実験として以下を追加してみました。

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

しかし、それさえも「403エラー」というポップアップで失敗しました。そのため、もっと凝ったことを試すことはしませんでした。

DigitalOceanに、マニュアル通りにインストールし、最新バージョンにアップデートしたものがあります。JavaScriptを使用できるようにするために、標準のインストールに関して何か変更する必要はありますか?

これはもう役に立たないと思うので、しまっておきましょう...

代わりにカスタムテーマコンポーネントとして追加してみてはどうでしょうか?

簡単な手順:

  • /admin/customize/themes に移動します
  • インストールをクリックし、次に新規作成をクリックします
  • 名前を付け、「コンポーネント」を選択します。
  • 作成
  • テーマに追加します
  • CSS/HTMLの編集ボタンをクリックして、そこで変更を加えます

そして保存します。:+1:


デフォルトテーマのヘッダーでもテストしましたが、うまくいきました。そのため、セットアップに何か異常がある可能性があります。セーフモードでトリガーしようとすると機能しますか?

お待ちください、これは聞き覚えがあります。ブラウザ拡張機能で無効にできるものはありますか?(またはプライベートウィンドウで試してみてください)コンソールにエラーの詳細が表示されていますか?

Discourse の前に Web Application Firewall (例: CloudFlare や AWS WAF) を設置していますか?クロスサイトスクリプティング攻撃として検出している可能性があります。

ヘッダーではなくヘッドはどうですか?

「いいね!」 2

これは、私が持っているテスト用の Discourse インスタンスでは 1 週間前には発生していなかったエラーですが、今週発生しています。
考えられるすべての場所を試しましたが、正直なところ、JS は閉じボディタグの直前にあるべきであり、ヘッド内にあるべきではありません。そのため、そこに配置したいと考えています(そして、それが先週機能したことです)。

403エラー モーダルが表示されるだけで、それだけです。
コンポーネントやテーマが原因ではないことを確認しましたが、意図せず変更した設定が原因かどうかはわかりません。