访问内部网站上的外部图像URL时出错403

问题描述 投票:1回答:2

我一直在研究这个内部网络应用程序,允许用户点击按钮查看图像。挺直的。

<img id="swatchimage" width="600" height="600" src="" />

图像需要从外部网站链接。执行此操作的javascript是:

$("#swatchimage").attr("src", fileURL);

其中一个网址如下所示:

enter image description here

如果您尝试在浏览器中访问上面的图像,它可以正常工作。从内部应用程序(IP:192.168.110.15)访问它时,服务器返回403错误。

在主网站上使用相同的文件,所以我不认为它是关于热链接保护(我试图禁用,但无济于事)。

链接这些资源时是否存在一些我不知道的限制?

javascript internals
2个回答
1
投票

我想我发现了这个问题:

服务器(cdn.palmcentre.co.uk)没有在响应中发送Access-Control-Allow-Origin标头,因此您无法使用JavaScript来获取它。

但是,这不是403。这是我得到的错误的屏幕截图:

Me trying to fetch the image using JS

此外,您要做的不是获取图像,而是修改src元素的<image>属性,这应该是允许的。

这让我觉得你得到的错误是因为jQuery试图获取图像并失败,但我不确定。

尝试这样做:

document.getElementById("#swatchimage").src = fileURL;

0
投票

我似乎找到了解决方案。

确实令人费解,因为我知道CORS不会在这里发挥作用。它只是从HTML标记请求的另一个图像URL。所以它不应该以这种方式表现。

尽管收到了帮助,但我很感激,这个问题似乎实际上是一个热门联系保护措施。

但它不是来自服务器本身或来自脚本,而是来自CloudFlare缓存本身。

© www.soinside.com 2019 - 2024. All rights reserved.