「セキュアメディア」がオンの場合、メディアへのリンクがコピーまたは引用で壊れる

再現手順:

  1. セキュアメディアを有効化
  2. 新しいトピックを作成し、メディアをドラッグ(PDF ファイルでも可)
  3. 自分のトピックに返信し、メディアをコピー&ペーストする(または自分を引用する)

これで、元のメディア添付ファイルをクリックすると正常に動作しますが、引用またはコピーされたメディアリンク(全く同じリンクであっても)をクリックするとエラーページに遷移することが確認できます:
image
参照元タグが原因ではないかと推測しています。それが唯一の違いだからです。

「いいね!」 1

これが許可されたユースケースかどうかは確信がありません。セキュアメディアとは、メディアが投稿と強く関連していることを意味しますが、これは緩やかな関連性に依存しています。

@martin が今週後半に確認する予定です。

返信ありがとうございます!

もしメディアが投稿に関連付けられることを意図しているなら、これははるかに大きな「バグ」です。なぜなら、現状ではメディアの URL(https://www.my.domain/secure-media-uploads/original/1X/db86496651c78aa64adbe43b2907654555002.pdf のような形式)をコピーして、Discourse にログインしている誰でも共有でき、その人が Discourse を開くことなくブラウザのアドレスバーに貼り付けるだけでファイルをダウンロードできてしまうからです。

この機能は S3 のみで動作します。有効になっているかどうかは不明です。

はい、S3 は有効です。そうでなければ「Secure Media」を利用できないからです。

ええと、これをより慎重にテストすることをお勧めします。PM に画像を投稿し、PM へのアクセス権を持たない一般ユーザーがアクセスできないことを確認してください。

ログインユーザーが PDF が含まれた投稿にアクセスできれば、それをダウンロードできます。

ああ、それは良い指摘ですね。すぐに試してみます。

編集:お詫び申し上げます。おっしゃる通り、投稿にアクセスできるユーザーのみがメディアをダウンロードできます。ただし、投稿リンクを直接クリックする必要はないため、リンクがコピーされ、ユーザーが元のメディアにアクセスできるのであれば、ユーザーが URL をアドレスバーにコピー&ペーストすることを強制せず、ダウンロードを許可すべきだと考えます。

今週、これを確認いたしますので、ご報告ありがとうございます。

「いいね!」 3

遅くなり申し訳ありません。これは FIX: Add secure media url to SERVER_SIDE_ONLY list by martin-brennan · Pull Request #11348 · discourse/discourse · GitHub で修正されました。

「いいね!」 3