0

ユーザーがコメントで他のサイトの画像にリンクできる小さな Django サイトがあります。それは決してコア機能ではありません。

サイト全体をSSLに移行しました。これはほとんどの部分でうまく機能していますが、リモート イメージが常に SSL 経由で利用できるとは限りません。有効な証明書を持つドメインはごくわずかです。

その場合、画像をファネルする最良の方法は何ですか?

  • ユーザーが投稿したときにそれらをダウンロードし、URL をローカルのものに変更しますか?
  • 別の URL をプロキシするだけのプロキシを作成しますか?

2 つ目は、作業が少ないように思えます (NGINX ルールだけで可能だと思います) が、自分のプロキシを使用して悪意のある利益を得るためにサイトを開くことにもなります...これは避けたいと思います。

ここで最善の妥協点は何ですか?

4

1 に答える 1

3

Github は、どこでも HTTPS に移行し、ブログで詳しく説明したときに、この同じ問題に遭遇しました: https://github.com/blog/743-sidejack-prevention-phase-3-ssl-proxied-assets

彼らの解決策は、https://github.com/atmos/camoとしてオープン ソース化されたプロキシ サーバーを作成することでした。プロキシの悪用に関する同じ懸念に対処するために、アプリケーション サーバーとの共有シークレットと共に展開されます。これを Django プロジェクトに統合すると、指定された画像 URL の共有キーからダイジェストを生成するだけで済みます。

于 2013-11-12T16:25:02.650 に答える