5

この回答によると、「セキュリティ上の理由から、画像はスタンドアロン ファイルでなければなりません」。つまり、imgタグを使用して SVG ファイルを含める場合、外部スタイルシートを参照することはできません。

CSS を使用して SVG を背景画像として含めようとすると、同じ問題が発生したと思います。SVG は他の SVG ファイルにリンクしており、Firefox で直接表示すると問題なく表示されますが、CSS 背景画像として含まれている場合はリンクされたコンテンツを表示できません。

これらの「セキュリティ上の理由」とは何ですか? また、それらに関する詳細情報はどこで確認できますか?

4

1 に答える 1

7

SVG画像をアバターとして許可する架空のフォーラムを考えてみましょう。外部リソースが許可されている場合、トリックスター/悪意のあるユーザーは、以下を含むSVGファイルをアップロードできます <image xlink:href="http://evilhacker.com/myimage.png"> (evilhacker.comを制御していると仮定します)。

  • 誰かが自分のプロファイルを表示するたびに、自分のドメインでpingを受信します(そして、それを表示している人のIPアドレスをログに記録します)
  • IPアドレス、リクエストヘッダーなどに基づいて、さまざまな人にさまざまな外観のアバターを提供する可能性があります。
  • アバターの外観を自由に変更できる可能性があります(つまり、フォーラムの管理者が親指を立てて承認するのを待ってから、NSFWに変更します)

詳細については、このMozillaのバグSVG統合仕様を参照してください。

于 2012-09-26T14:41:35.030 に答える