-1

如何防止在源代码中显示以下代码。

img 标签代码

echo'<img src="jal.gif" alt="Smiley face" height="42" width="42" />';

源代码

<img  alt"Smiley face" src="http://www.myweb.com/jal.gif">

实际上我不想显示用户图像路径。

谢谢

4

4 回答 4

1

我想你想要这样的东西,将图像提交到 html 文件,使用 base64 编码:

<img alt="Smiley face" src="data:image/jpeg;base64,<?php echo base64_encode(file_get_contents("jal.gif")); ?>" />
于 2012-08-06T00:07:44.180 回答
0

我的最后一个解决方案:)

代码有安全漏洞,如果它对你来说是一个好的解决方案,我将编辑我的帖子并修复这些安全漏洞。没试过代码。但是为了工作,浏览器必须支持会话cookie,这不是完美的解决方案。用户可以通过嗅探器或浏览器右键单击获取图像。完美加密是不可能的。(您也可以使用 ajax post 实现 javscript 解密)

我假设session_start()包含在页面中。

显示图像.php

<?php
    session_start();
    header("Cotent-Type: image/jpeg");
    readfile($_SESSION["files"][$_REQUEST["id"]]);
?>

索引.php

<?php
    session_start();
    $i=rand();
    $_SESSION["files"][$i]="cat.jpg";
    echo "<img src=\"showimage.php?id=".$id."\" />";
?>
于 2012-08-06T00:34:54.337 回答
0

我不知道真正隐藏路径的方法,但是您可以使用 css 至少让用户通过一些研究来找到您的图像的文件路径。将您的图像放在一个 div 中并给该 div 一个背景图像,就像这样

<div id="imgdiv"></div>

在 CSS 中:

#imgdiv{
    background-image: url('http://www.myweb.com/jal.gif');
}

这也很好,因为用户将无法在浏览器中将您的图像拖走。

于 2012-08-06T00:08:09.580 回答
0

您可以使用代理,即使用实际加载所需图像的 PHP 页面。例如,你可以有这个:

<img src="my_proxy.php?img=jal.gif" alt="Smiley face" height="42" width="42" />

然后my_proxy.php页面将使用参数实际加载您想要的图像img

于 2012-08-06T00:05:58.330 回答