参考:これは潜在的な「活用」、私はすべての[img]
BBCodesへcrossorigin="anonymous"
を追加しましたから、私のユーザー生成コンテンツを保護するためにPrevent HTTP Basic Authentication from displaying prompt for images問題は、画像
。
IE11でうまくいきました。悪用をテストしたときに、イメージは認証ダイアログをトリガーしなくなりました。
しかし、Chromeでは、画像がまったく読み込まれていないため、悪用されません。代わりに、私は明らかにかなり一般的なエラーを取得しています:
Image from origin 'XXXXX' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'YYYYY' is therefore not allowed access.
はたぶん私の理解が間違っているが、私は、属性の"anonymous"
値はこれが動作することが可能だろうと思いました。
私は何か不足していますか?あれば、この問題を防ぐために他にどのようなオプションがありますか?
最近の主な問題は、「ハック」が失敗するのではなく、アクセス制御ヘッダーを持たないためにChromeがすべての画像を完全にブロックするということです。 'crossorigin =" anonymous "属性を削除すると、イメージは再び機能しますが、脆弱性をハックに戻します。 –
はい。私は明確にコミュニケーションできないのかどうかはわかりませんが、あなたが言っているのは期待される行動です。 – bozzmob
bozzmob良い説明! @NiettheDarkAbsolはい、クロムは、ユーザーのリクエストが本物であるかどうかを信じる立場にないため、アクセスコントロールヘッダーを送信しないとすべての画像をブロックします。これがアクセス制御メカニズムの仕組みです。 –