2014-01-30 27 views
0

我有一个PHP网站,我想通过加密/解密或向相应目录提供密码安全性来保护用户上传的图像和文件。为用户上传的文件提供安全

因此,只有该用户才能看到它,而其他人将无法看到或下载它。

我试图使用.htaccess来保护它,它限制了外部用户访问该目录。不过,我将这些图片链接传递给Android和iOS应用。由于.htaccess给出的限制,这些APP无法显示这些图像。

请让我知道你是否有任何建议来保护它。

回答

0

我建议你把上传的图片放到一个不能公开访问的文件夹中,然后创建一个脚本getimg.php或者那个程度的东西,检查当前用户是否可以访问那个图片,如果他们可以的话,然后做这样的事情,以服务形象:

header("Content-Type: image/jpeg"); 
$file = file_get_contents("/path/to/filestore/user2/file.jpg"); 
header("Content-Length: ".strlen($file)); 
echo $file; 
exit(); 

你可以返回,如果用户不访问

header("HTTP/1.1 403 Forbidden"); 
echo $errorMessage; 
exit(); 
+0

感谢您的建议,403禁止使用的.htaccess我做同样的事情以不同的方式。但是,当我通过Web服务将图像链接传递给移动应用程序时,问题就开始了 我能够访问APP中公开限制的目录中的图片吗? – user3252541

+0

您只能通过php脚本访问该映像,它将公开访问,但是它将决定访问是否允许。就像'example.com/getimg.php?img=mypic2.jpg' –

+0

我刚试过这个解决方案,它工作正常,但我主要关心的问题仍然是开放的。这是不安全的,因为任何人一旦得到这种类型的网址就可以访问文件example.com/getimg.php?img=mypic2.jpg。 – user3252541

相关问题