首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SSL中,如何优雅地处理重定向到http的https URL的IMG src

在SSL中,如何优雅地处理重定向到http的https URL的IMG src
EN

Stack Overflow用户
提问于 2018-10-11 16:17:45
回答 1查看 1.2K关注 0票数 1

我有一个PHP站点(使用HTTPS),它从API中提取博客内容HTML。

有时,博客内容包含img标记。在很少的情况下,src标记的img可能指向一个https URL,它是对http的重定向。

因此,当我的站点的访问者加载页面时,浏览器(例如Firefox)在URL栏中写道:

连接不安全 此页面的部分不安全(如图像)。

我能做些什么来确保我的访问者总是体验完整的https?

我的PHP或javascript是否可以先发制人地检测到img src会重定向到http而忽略标记(防止加载)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 17:01:08

显然,在客户端HTML中接受HTTP连接不是一个可接受的解决方案,因为这可能是一个安全问题。因此,我想出两种很好的办法来解决这个问题:

1)解析来自API的代码,使用CURL跟踪所有图像链接,检查是否被重定向(并缓存结果,因为您很可能不希望对每个请求执行这个昂贵的操作)

很可能你现在会问如何做到这一点。好的:要么关闭卷发重定向,然后检查状态200以外的其他内容是否被返回,如果没有返回,则将图像剥离。正确的设置应该是:

代码语言:javascript
运行
复制
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

或者,您可以使用以下方法检查最终重定向URL:

代码语言:javascript
运行
复制
$redirectURL = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL );

这个问题对你很有帮助:How can I find where I will be redirected using cURL?

2)从API中解析代码,通过CURL获取远程映像,在本地测试并保存它们,并将src替换为服务器的URL。

这两种方法都可能是处理问题的好方法,具体取决于获取这些远程内容的频率和可用资源的数量。在大多数情况下,最可能的方法1)更值得推荐。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52764702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档