我的网站上有一个 ssl 证书。一旦图像从另一个站点加载到页面上,它会导致类似“页面包含安全和非安全项目”的警告,因此您必须按“确定”,否则您会在浏览器中看到“断开的”ssl 连接。逃避警告的一种方法是使用 http 页面而不是 https,对吗?

但是,据我所知,还有另一种方法可以使用 php 或仅使用 javascript 来排除警告。我相信图像已加载到我服务器上的临时文件夹中,并同时作为 https 图像加载。
有人能告诉我最好的方法吗?
浏览论坛对我帮助不大。
谢谢你。

所以,
如何加载

<?php echo '<img src="http://www.not_my_site.com/image.jpg" alt="">'; ?>

我的页面上没有警告 https://my_site.com/index.php

最佳答案

您无法抑制错误,因为它是浏览器的问题。

唯一的方法是在您的站点上使用 https 调用来封装这些调用。就像是:

<?php echo '<a href="https://my_site.com/external.php?resource=http://www.not_my_site.com/image.jpg" alt="">'; ?>

您必须编写 external.php 脚本来代表客户端发出请求,然后通过现有的 SSL 连接返回内容。 您只需要为外部 HTTP-only 资源执行此操作。

该过程将按如下方式工作:
  • 最终用户的 Web 浏览器向您的 external.php 脚本发出 HTTPS 请求。
  • 检查已保存的资源副本。如果你已经缓存了它,那么跳到第 6 步,返回缓存的资源。
  • 您的服务器将调用转发到指定为 resource 的 HTTP 资源。
  • 远程服务器响应请求。
  • 保存用于缓存的资源副本。
  • 您的 Web 服务器 external.php 脚本然后通过 SSL 连接返回该响应。

  • Web 浏览器只发出 1 个请求,您的 Web 服务器只需要再发出一个请求。

    这是您能够摆脱该消息的唯一方法。

    检索图像看起来更简单:use curl to download indirect image file

    关于php - https 和来自其他站点的图像。如何在不修改 .htaccess 文件的情况下使用 php 或 javascript 删除 http 图像的警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9248039/

    10-12 00:30
    查看更多