在https中显示http图像的麻烦

我需要在我的https网站中嵌入http图像,因为如果只使用&lt; img src =“ http://www.sof.com/abc.jpg“/&gt; </ code>不会在https网站上显示。</ p>

之后,我搜索了这个功能的一些主题 ,我发现像&lt; img src =“https://www.some.com/image.php?url=http://www.sof.com/abc.jpg”/&gt; </ 代码>可以在https中显示</ p>

所以现在我是genarate 2来源。 1是图像文件: http://www.website1.com/abc.png </ code>,</ p>

,https网址是 https:/ /fb.ccc.com


nn

之后我创建了image.php代码如下:</ p>

 &lt;?

$ strFile = base64_decode(@ $ _ GET ['url']);
$ strFileExt = end(explode('。',$ strFile));
if($ strFileExt =='jpg'或$ strFileExt = ='jpeg'){
header('Content-Type:image / jpeg');
} elseif($ strFileExt =='png'){
header('Content-Type:image / png');

} elseif($ strFileExt =='gif'){
header('Content-Type:image / gif');
} else {
die('not supported');
}
if ($ strFile!=''){
$ cache_expire = 60 * 60 * 24 * 365;
header(“Pragma:public”);
header(“Cache-Control:maxage =”。$ cache_expire);

header('Expires:'。gmdate('D,d MYH:i:s',time()+ $ cache_expire)。'GMT');

}
退出;
?&gt;
</ code> </ pre>

如果我请求链接: https://fb.ccc.com/image.php?url=http://www.website1.com/abc.png ,然后该页面将不再响应 支持</ code> </ p>

我也尝试 $ strFile = $ _GET ['url']; </ code>但它只显示空白。

我尝试 $ strFile = var_dump(@ $ _ GET ['url']); </ code>,页面将重新发送 string(31)“http://www.website1.com/abc.png”不支持< / code> </ p>

所以有人可以帮忙找出我的脚本问题是什么?</ p>

非常感谢你!</ p>
< / DIV>

展开原文

原文

I need to embed http image in my https website, because if simply use <img src="http://www.sof.com/abc.jpg"/> will not show in https website.

After that, I was search some topic of this function, I found that something like <img src="https://www.some.com/image.php?url=http://www.sof.com/abc.jpg" /> can be show in https

So now I was genarate 2 source. 1 is the image file: http://www.website1.com/abc.png,

and the https web adress is https://fb.ccc.com

after that I create the image.php code was below:

<?  
        $strFile = base64_decode(@$_GET['url']);
        $strFileExt = end(explode('.' , $strFile));
        if($strFileExt == 'jpg' or $strFileExt == 'jpeg'){
            header('Content-Type: image/jpeg');
        }elseif($strFileExt == 'png'){
            header('Content-Type: image/png');
        }elseif($strFileExt == 'gif'){
            header('Content-Type: image/gif');
        }else{
            die('not supported');
        }
        if($strFile != ''){
            $cache_expire = 60*60*24*365;
            header("Pragma: public");
            header("Cache-Control: maxage=". $cache_expire);
            header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $cache_expire).' GMT');



        }
        exit;
?>

if I request the link: https://fb.ccc.com/image.php?url=http://www.website1.com/abc.png , then the page will be respone not supported

I was also try $strFile = $_GET['url']; but it only show blank. if I try $strFile = var_dump(@$_GET['url']); and the page will respone string(31) "http://www.website1.com/abc.png" not supported

so someone can help to find out what is my script problem?

thank you very much!

dongyi1921
dongyi1921 那么如何改进脚本呢?你可以请一下吗?谢谢。
5 年多之前 回复
douhui7136
douhui7136 该代码不是很好的代码,这种方法还有一些问题。通常,该方法有效,但是:从URL检索图像的实际代码不是该代码的一部分。您发布的链接会在底部显示评论,缺少代码。我希望你明白这一点。然后,作为标头发送的mime类型是从作为参数发布的url派生的,这没有多大意义。它应该取决于检索的实际图像。所以我不确定你发现的建议是否是一个很好的来源......
5 年多之前 回复
dongyouzhi7218
dongyouzhi7218 链接实际上我的代码我发现了这个主题,但我不能评论如果我的声誉低于50..var_dump只是我的想象..我是新手..
5 年多之前 回复
donglvlao8367
donglvlao8367 不确定这是否是您手头的问题,但是:您在问题结尾处展示网址的方式没有意义:$strFile=var_dump(@$_GET['url']);,因为var_dump()将返回无效,所以没有。之后你的条件必须导致else情况和你输出的错误信息,因为你没有为$strFile分配任何值。
5 年多之前 回复
douqiang6036
douqiang6036 如果使用$strFile=var_dump(@$_GET['url']);页面只显示字符串(31)“http://www.website1.com/abc.png不受支持。
5 年多之前 回复
douren1928
douren1928 除了直接问题之外,这种方法还存在一些问题:您在这里创建一个开放代理,允许每个人错过使用您的脚本来获取任意文件,至少代表您的图像。你当然可以尝试限制访问,但整体方法是值得怀疑的。想象一下有人通过这种方式检索儿童色情图片,你的系统IP地址将被注册,之后你会想到一些问题......
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐