从代码中隐藏img src路径?

时间:2011-08-14 23:13:18

标签: php jquery image security

我怀疑这是不可能的,但我尝试保持乐观......

我正在运行一个使用jquery& PHP。通过ajax,我正在动态地将图像加载到页面。问题是,当您查看页面的来源时,图像的路径是可见的。我想弄清楚是否可以阻止路径显示?我只是不希望任何人看到这些路径或能够访问它们。所以,我不知道是否有某种神奇的编程解决方案或与htaccess有关,但如果有人知道如何实现这一点,我会感谢指针/链接/或辉煌......

6 个答案:

答案 0 :(得分:4)

由于浏览器需要知道从哪里获取数据,因此无法轻易隐藏。

但你可以让“攻击者”变得更加困难。例如,您可以在加载给定图像的情况下为脚本提供脚本。只有在使用正确的Referer:标题调用时,脚本才会这样做。

答案 1 :(得分:1)

Data URIs是您的选择吗?

如果没有,阻止热链接(通过Referer)将是我这样做的方式,可能会有一些混淆(取决于您的用户群)。

答案 2 :(得分:0)

聪明的用户可以通过某种方式看到浏览器可见的所有内容

你可以将它们隐藏起来,而不是程序员

反lamer技术可包括:

1)将data-mangled-src属性设置为ROT13(real-src),然后执行

$('img').each(function () { $(this).attr('src', ROT13($(this).data('mangled-src')))})

2)设置一些data-id attr,然后AJAX从服务器请求src

但无论如何,URL会进入浏览器,然后它对用户可见

3)当然,您可以将图片加载到flash'viewer'中,这可能是隐藏它们的最先进方式

答案 3 :(得分:0)

所以...如果你使加载路径成为php中的内部链接,请通过Ajax请求隐藏网络检查器中的路径......我的意思是,可能会查询生成临时图像的临时路径的数据库...

然后使用加载的图像,你可以保存一个画布元素......因此没有src

答案 4 :(得分:0)

您可以通过多种方式隐藏图片网址。

  • 使用插件:您可以使用flash,Java applet等来加载图像
  • 使用交通警察:您可以将所有图像的来源设置为单个PHP脚本,并使用某种参数指定所需的图像。该脚本可以检查会话变量/引用/任何你想要的;如果一切都结束了,你可以做一个file_get_contents()来加载图像的实际网址,然后将其回显给浏览器。

答案 5 :(得分:0)

我创建了一个网站,可以帮助您隐藏宝贵照片和图像的图像。

我的网站会隐藏图片的来源路径,还可以让您将照片“锁定”到特定的域名,例如。 example.com,以便照片只会显示example.com而不会显示在facebook.com上或者重新发布照片链接的任何地方。

http://hideimgsrc.com

它比基于java脚本的解决方案更容易,更快。