【问题标题】:How to hidden the img source IP?如何隐藏img源IP?
【发布时间】:2019-10-17 10:48:21
【问题描述】:

我有一个 img 标签嵌入了我的公共服务器的图像路径,并将图像显示给用户:

<img src="http://13.43.68.1:8000/img/gen/trafiic.png">

但这是安全风险,因为用户可以获得我的图像源服务器(13.43.68.1)。

那么,有没有什么方法可以让用户获取不到IP呢?比如缓存图片数据,只需将缓存的img数据显示为src即可。


Edit-01

我在image.tpl下,PHP的smarty模板:

<div class="panel-body text-center">
    <h4>Daily</h4>
    <img width="360" src="http://13.43.68.1:8000/img/gen/trafiic.png.php?switch={$switch}&port={$portname}&cycle=-1d"><br><br>
    <h4>Weekly</h4>
    <img width="360" src="http://13.43.68.1:8000/img/gen/trafiic.png.php?switch={$switch}&port={$portname}&cycle=-1w"><br><br>
    <h4>Monthly</h4>
    <img width="360" src="http://13.43.68.1:8000/img/gen/trafiic.png.php?switch={$switch}&port={$portname}&cycle=-1m"><br><br>
</div>

在这种情况下,如何隐藏src IP?

【问题讨论】:

  • 改成base64图片的url
  • 你可以使用“数据URI方案”吗?
  • 您能提供更多信息吗?例如,您向我们展示了带有您想要隐藏的 url 的 img 标签,但是您是否有权访问服务器配置或者您正在寻找客户端解决方案?如果你这样做了,你可以使用一些指向你的主服务器的虚假 url,并使用规则代理所有图像请求。
  • 是的,data URI scheme可以解决这个问题,但是如果来源只提供url图片呢?
  • 如果该服务器的 IP 地址是机密,则不要在其上托管公共数据

标签: php html image smarty imgur


【解决方案1】:

我想说你的 IP 被暴露并不是一个特别的安全漏洞。您可以获取任何服务器的 IP 地址,无论其是否由主机名支持。我建议购买一个域名(或映射现有域的子域)并使用 A 记录将其指向您的图像服务器 IP 地址。

然后,您就可以通过转到 http://fakedomain.com:8000/img/gen/trafiic.png 来访问您的图像。

虽然您可以将所有图像转换为 base64 并以这种方式输出,但您的源代码会增长 - 最好保留单独的请求 :)

替代方案:

  • 使用 Cloudflare 等中间人来防止暴露您的 IP 地址
  • base64 - 但不推荐,因为它的页面加载成本很高(但取决于您的需求)
  • 使用脚本生成图表并将其卸载到 Amazon S3 之类的地方,然后从那里加载。

【讨论】:

    【解决方案2】:

    如果来源将图片 URL 提供给您,您可以获取 URL 内容并将其编码为 base64。检查下面的代码:

    $imgURL = 'https://via.placeholder.com/350x150';
    $imageData = file_get_contents($imgURL);
    
    $imgSrc = 'data:image/png;base64,' . base64_encode($imageData);
    
    return '<img src="'.$imgSrc.'">';
    

    【讨论】:

      【解决方案3】:

      您可以使用this solution 将图像转换为base64 并将base64 解码为src 而不是使用url

      【讨论】:

        猜你喜欢
        • 2014-10-25
        • 1970-01-01
        • 2017-04-04
        • 1970-01-01
        • 2014-03-17
        • 1970-01-01
        • 1970-01-01
        • 2014-02-12
        • 1970-01-01
        相关资源
        最近更新 更多