Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как скрыть url (https://javascript.ru/forum/events/22905-kak-skryt-url.html)

MadGest 04.11.2011 23:28

Как скрыть url
 
Собственно задача в том что бы пользователь не смог узнать url изображения. Возможно ли это реализовать средствами JS?

MadGest 05.11.2011 17:05

Задача стоит такая, требуется решение. Тема открыта.

Почемучкин 05.11.2011 18:35

Можно url создавать динамически, чтобы он был действительным в течение минуты или часа. Это если нужно, чтобы нельзя было потом к нему обращаться.
Или стоит задача скрыть сервер на котором хранится изображение?

trikadin 05.11.2011 23:04

Задача в том, чтобы пользователь не смог скачать изображение?

MadGest 06.11.2011 00:54

Задача только в сокрытии url. Пока нашел адекватное решение реализовать только на стороне сервера. Интересно можно ли сделать это средствами браузера и JS?

trikadin 06.11.2011 01:02

Извините, а вы можете пояснить, что вы понимаете под "сокрытием url"? Вам нужно, чтобы в аттрибуте src не было видно url'а, по которому доступна эта картинка? И для чего вам это нужно?

zebra 06.11.2011 01:25

повесьте событие oncontextmenu и делов

MadGest 06.11.2011 02:01

Да именно сокрытие атрибута src. Суть в том что есть архив из которого грузятся фото. В зависимости от разграничения прав должны фильтроваться позиции. Одном словом что бы пользователь знал имя файла но не где он лежит. Хотелось бы усложнить получение url корневой папки.

Gvozd 06.11.2011 02:09

Ну, так вы ничего не добьетесь.
максимум вы можете чуть замедлить пользователя, и вместо одного клика ему придется сделать чуточку больше телодвижений. но через 2 минуты у него все равно будет URL файла

Правильным решением будет не скрывать URL-ы, а правильно отображать контент по ним.
Если пользователь1 имеет право увидеть картинку по ссылке http://site.ru/images/1.jpg, то показываем ему эту картинку.
А если пользователь2 не имеет прав для просмотра этой картинки, то по этой же ссылке он не должен увидеть оригинальную картинку.
Это правильное решение, которое надо использовать в данной ситуации

Почемучкин 06.11.2011 14:04

Значит сокрыть корневую папку полностью можно только со стороны сервера - например заменяя временную псевдо-ссылку на реальную ссылку (нагрузка на базу данных) или расшифровывая зашифрованную псевдо-ссылку. А затем отдавая картинку.

Если будут применяться другие методы - на стороне пользователя, то обязательно найдется тот, кто взломает эту легкую защиту. Достаточно просто поставить сниффер или файерволл заставить спрашивать можно ли обратиться туда-то за тем-то: даже не понадобится расшифровывать джаваскрипт или flash. Ссылки с которых берутся изображения сразу будут видны. То есть вопрос в том насколько прочная защита нужна. На сервере это проще, быстрее и надежнее сделать. Только чуть возрастет нагрузка.

А вот защитить изображения от копирования невозможно - даже чайник может нажать клавишу PrtScr и получить скриншот, с которого вырезать эту картинку (правда, не все почему-то догадываются так сделать - но это временное помутнение мозгов - если очень нужно, то догадаются 100%). А есть специальные утилиты для облегчения копирования и плагины для браузеров, которые всю страницу даже с прокруткой скриншотят.


Часовой пояс GMT +3, время: 13:58.