如何防止显示源代码
如何防止显示下面的代码在源代码中的img标签。如何防止显示源代码
img标签代码
echo'<img src="jal.gif" alt="Smiley face" height="42" width="42" />';
源代码
<img alt"Smiley face" src="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
参数的图像。
我想你想这样的事情,提交图片的HTML文件,用base64编码:
<img alt="Smiley face" src="data:image/jpeg;base64,<?php echo base64_encode(file_get_contents("jal.gif")); ?>" />
其工作正常,但问题是,它增加了页面的大小....因为我有一个页面各处20个图像.... – Fou 2012-08-06 00:17:44
我不知道的方式,真正隐藏路径,但您可以使用CSS至少让用户通过一些研究来查找图像的文件路径。将一个div内部图像,并给予该div背景图像,像这样
<div id="imgdiv"></div>
在CSS:
#imgdiv{
background-image: url('http://www.myweb.com/jal.gif');
}
这也是不错的,因为用户将不能够拖动您的图像客场浏览器。
很抱歉,但以何种方式解决这“隐藏”开用户具有查看的CSS源的事实的路径? – 2012-08-06 00:08:57
正如我所说的,它肯定不会隐藏路径 - 只要使其更复杂一点。 – weltschmerz 2012-08-06 00:11:01
从我的最后的解决方案:)
代码的安全漏洞,如果你一个好的解决方案,我将修改我的职位和修复这些安全漏洞。没有尝试过的代码。但为了工作,浏览器必须支持Cookie会话,并且它不是完美的解决方案。用户可以通过嗅探器或浏览器右击获取图像。完美的加密是不可能的。 (可以实现javscript解密也与阿贾克斯后)
我preassume包含在网页session_start()
。
showimage.php
<?php
session_start();
header("Cotent-Type: image/jpeg");
readfile($_SESSION["files"][$_REQUEST["id"]]);
?>
的index.php
<?php
session_start();
$i=rand();
$_SESSION["files"][$i]="cat.jpg";
echo "<img src=\"showimage.php?id=".$id."\" />";
?>
这有什么做用PHP ... – weltschmerz 2012-08-06 00:04:22
这是对一些安全原因?你意识到不可能从用户那里隐藏它,对吧?浏览器工具,代理,数据包嗅探器... – Brad 2012-08-06 00:05:50