如何防止在源代码中显示以下代码。
img 标签代码
echo'<img src="jal.gif" alt="Smiley face" height="42" width="42" />';
源代码
<img alt"Smiley face" src="http://www.myweb.com/jal.gif">
实际上我不想显示用户图像路径。
谢谢
我想你想要这样的东西,将图像提交到 html 文件,使用 base64 编码:
<img alt="Smiley face" src="data:image/jpeg;base64,<?php echo base64_encode(file_get_contents("jal.gif")); ?>" />
我的最后一个解决方案:)
代码有安全漏洞,如果它对你来说是一个好的解决方案,我将编辑我的帖子并修复这些安全漏洞。没试过代码。但是为了工作,浏览器必须支持会话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."\" />";
?>
我不知道真正隐藏路径的方法,但是您可以使用 css 至少让用户通过一些研究来找到您的图像的文件路径。将您的图像放在一个 div 中并给该 div 一个背景图像,就像这样
<div id="imgdiv"></div>
在 CSS 中:
#imgdiv{
background-image: url('http://www.myweb.com/jal.gif');
}
这也很好,因为用户将无法在浏览器中将您的图像拖走。
您可以使用代理,即使用实际加载所需图像的 PHP 页面。例如,你可以有这个:
<img src="my_proxy.php?img=jal.gif" alt="Smiley face" height="42" width="42" />
然后my_proxy.php
页面将使用参数实际加载您想要的图像img
。