阻止HTTP基本身份验证显示图像提示

时间:2015-11-07 18:17:13

标签: html

如果我有来自页面上不同域的图像,并且该图像受HTTP基本身份验证保护,则浏览器将向用户显示身份验证对话框,如下所示: Auth Dialog 鉴于该网站是一个论坛,因此包含大量用户生成的内容,恶意用户很容易添加这样的图像,然后可能收获一两个人的登录凭据为它,并在对话框中键入他们的站点凭据。

有没有办法阻止显示凭据提示而不使用图像主机的白名单(不理想,因为它对用户非常严格)或确保图像在允许之前可以访问(可以可以解决吗?

1 个答案:

答案 0 :(得分:5)

如果您将crossorigin="anonymous"属性添加到图像中,它将不再提示输入凭据,但这也意味着不会发送任何Cookie或缓存凭据(在我的情况下这无关紧要)。

但请注意,这会将其限制为仅使用Access-Control-Allow-Origin标头提供的图片,该标头必须设置为*或网页的来源。如果标题被省略或不正确,则不会渲染图像,而是会显示损坏的图像错误。这使得这个解决方案相当无用,但不幸的是似乎没有替代方案。