2014-01-30 2 views
0

У меня есть сайт на PHP, в котором я хочу защитить загруженные пользователем изображения и файлы, либо путем шифрования/дешифрования, либо путем обеспечения безопасности паролей в соответствующем каталоге.Обеспечение безопасности загруженных пользователем файлов

Так что только этот пользователь может его увидеть, а другие не смогут его увидеть или скачать.

Я пытался защитить его с помощью .htaccess, он запретил внешнему пользователю доступ к этому каталогу. Однако я передаю эти ссылки на изображения для Android и iOS APP. Из-за ограничений, предоставляемых .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(); 

Вы можете вернуть 403 запрещено, если пользователь не имеет доступа

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

Спасибо за ваше предложение, используя .htaccess я сделал то же самое по-разному. Однако проблема начинается, когда я передаю ссылку на изображение для мобильного приложения через веб-службу. Смогу ли я получить доступ к изображению из публично ограниченного каталога в APP? – user3252541

+0

Вы получите доступ только к изображению через php-скрипт, он будет общедоступным, однако он примет решение о разрешении доступа или нет. Что-то вроде 'example.com/getimg.php? Img = mypic2.jpg' –

+0

Я просто попробовал это решение, он отлично работает, однако моя главная проблема по-прежнему открыта. Он небезопасен, так как любой может получить доступ к файлам, как только он получит этот url example.com/getimg.php?img=mypic2.jpg. – user3252541

Смежные вопросы