ブラウザは気にしませんが、サーバーは可能です。デフォルトでは、ブラウザがリファラーを含むページと同じオリジンに対してリクエストを行う場合、サーバーにどこから来たのかを伝えるためにリファラーヘッダーを含めます。サーバーはこの情報を使用して、特定の場所へのアクセスを許可または拒否するなど、動作に影響を与えることができます。
回避は簡単ですが、他のウェブサイトからの偶発的なリンクを防ぐことができます。
location /uploads/ {
valid_referers www.example.com;
if ($invalid_referer) {
return 403;
}
}
上記のコードの www.example.com を Discourse インスタンスのドメインに置き換えることで、インスタンスへのアップロードのホットリンクを防ぐ適切な nginx 設定になります。
403(許可されていない)を返す代わりに、Discourse のホームページにリダイレクトするなど、異なる処理を行いたい場合もあるかもしれません。その場合は、代わりに以下のコードを使用できます。
location /uploads/ {
valid_referers www.example.com;
if ($invalid_referer) {
return 307 /;
}
}
app.yml ファイルに何かを追加して、リビルド時に設定を注入することも可能です。ただし、その部分はどのように行うか確信が持てません。詳しく調べていないためです。