2016-11-22 3 views
0

Я разработать веб-сайт, но у меня есть проблема в изображениях,Как обезопасить изображения (PHP)

для более объяснить: вставить фотографии в папку и назвать их с URL

для пример имя папки: images

И я вставить картинку с именем: test.jpg

Таким образом, проблема, если кто-то знает название картины, он может увидеть его, www.testest.com/images/test.jpg, но я урожденная d блокировать изображения

Если кто-то имеет другое решение, Не жалейте меня решение, потому что я хочу, чтобы дать некоторую приватность пользователю

Итак, что идеальное решение, чтобы уничтожить эту проблему, я попробовать много найти и исправить, но без каких-либо результатов.

Любая помощь пожалуйста?

+0

Вы ожидаете, что они будут доступны для всех? Достаточно ли просто скрывать URI? –

+0

htaccess и mod_rewrite – Loko

+0

Покажите нам, что вы пробовали, и почему это не удается. – nerdlyist

ответ

0

- Предотвратить Hotlink с htaccess:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] 
RewriteRule \.(jpg|jpeg|png|gif)$ www.testest.com/images/ [NC,R,L] 

- Отключение правой кнопкой мыши для всех <img>:

Jquery:

$('img').bind('contextmenu', function(e) { 
    return false; 
}); 

CSS:

img{ 
    -webkit-user-select: none; /* Chrome all/Safari all */ 
    -moz-user-select: none;  /* Firefox all */ 
    -ms-user-select: none;  /* IE 10+ */ 
    -o-user-select: none; 
    user-select: none; 
} 
+0

если я отключу javacsript в своем браузере, я все равно могу щелкнуть правой кнопкой мыши :) –

+0

Да, но с htacces вы можете предотвратить hotlink – paolobasso

+1

Я не думаю, что отключить хотлинкинг - это то, что OP после –

2

Не зная всех подробностей того, как вы на самом деле, используя эти изображения:

  1. магазин изображения за пределами корневой директории, в папке, которая не доступна через веб.
  2. Создайте сценарий для получения изображений (то есть images.php?id=123). Это покажет ту же проблему, с которой вы сталкиваетесь в настоящий момент, если кто-то знает идентификатор, поэтому перемещение ...
  3. Внедрите любую логику, необходимую для предотвращения загрузки этих изображений нежелательными источниками, например, если пользователь не вошел в систему или его запрашивает внешний веб-сайт/выщелоченный.

Вы не можете получить более надежную защиту, чем за пределами каких-либо изображений.

+1

Если 'images.php' проверяет, что соединение зарегистрировано с помощью сеанса и т. Д., Это было бы еще более безопасным, но не остановило бы входа пользователя в систему, чтобы посмотреть, что они могут найти. – RiggsFolly

+1

@RiggsFolly изображения могут быть ограничены этот конкретный пользователь/сеанс. без каких-либо подробностей, мы можем только догадываться, какая логика действительно необходима. –

+0

Yup Я понимаю, что это немного угадающая игра, основанная на предоставленной информации. Я просто пытался добавить немного к вашему ответу, который был тем, что я собирался написать – RiggsFolly

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