2014-02-25 144 views
-1

我需要加载一个给定的图像与PHP,将其保存在一个具有哈希名称的临时位置,推送给用户,然后删除服务器上的临时文件。php图像安全措施

基本上,我需要一种方法来从能够看到,在一个给定的图像存储在服务器(其中原始存储)上阻止用户。

我还需要用户无法通过它的名字,这就是为什么我每次用户加载页面这个形象是时间给它一个新的名字哈希来阻止图像。

因此,一步一步来:

加载图像。 以散列的当前日期和时间作为名称保存图像。 将图像转发给用户。 删除散列图像。

我不认为这应该是很难,我想我可以计算出来的东西我自己,但我会想念这可能是一个有价值的几个点。

提示非常受欢迎。

感谢,

马克

+0

“转发给用户”是什么意思? “前进”以什么方式?为什么不允许用户查看它的存储位置?用户如何看到图像的存储位置?我很困惑你想要做什么以及做这件事的问题是什么。 – deceze

+0

你从来没有听说过Firebug或类似的Web开发工具?我需要以图片的形式在网页上放置广告,图片可以按名称屏蔽,按路径屏蔽,由其周围的父元素ID,名称,类或甚至样式规则屏蔽。我发现了一些很酷的方法来使所有这些不可能,除了图像本身,它的路径和名称总是可以被阻止,但是如果我能够做一个哈希目录名和一个哈希图像名,并且这个哈希改变了这一天的每一秒都不可能阻挡。 –

+0

然而,无休止地制作具有文件副本的新目录,从长远来看将是自毁式的,因此,一旦用户在缓存中有图像(这就是我推送给用户的意思),我需要在磁盘上删除。 –

回答

1

我需要把广告页面上的图像的形式,图像可以阻止名 ,封锁道路,阻止其周边父 元素ID,名字,班级,甚至造型规则。我已经找到了很酷的方式一对夫妇 ,以使所有不可能的,除了像 本身,它的路径和名称总是可以被阻止,但如果我能 进行散列目录名和散列图像名称和这个散列 每一秒都会改变,这将变得无法阻止。

有没有需要任何有关移动任何东西。也没有一个与安全有关,只有混淆。所有你想要的是有一个随机网址服务的图像。所有这一切都需要您的Web服务器独立于请求的URL来提供映像。 URL与磁盘上的物理文件本身无关。 Apache的一个简单的mod_rewrite指令能够做到这一点很容易:

RewriteRule^myimage.jpg [L] 

将这个到您的图像文件夹的.htaccess文件,你可以参观像

example.com/img/awoi38nyqp9a084ntuq2309un200384hvt 

和响应将永远是任何URL图像文件。你只需要继续编写随机的URL。您还可以重写所有对PHP文件的请求,并在其中进行一些更有趣的处理,以确定应该提供哪个文件。

请参阅Reference: mod_rewrite, URL rewriting and "pretty links" explained

+0

从来没有意图侮辱你,所以我很抱歉,如果我这样做。感谢伟大的建议,我认为这将对我有用。干杯,马克 –