Three.js запретить просмотр файла в ресурсах

#javascript #security #stl #three.js #resources

#javascript #Безопасность #stl #three.js #Ресурсы

Вопрос:

Когда пользователь нажимает на определенную 3DModel, я получаю его с рендеринга сервера и отображаю в браузере с помощью three.js . Некоторые модели бесплатны, а у некоторых из них есть цена. Проблема возникает, когда пользователь нажимает на модель, которая не является бесплатной, и на самом деле он может перейти в консоль -> ресурсы, просмотреть файл stl и загрузить его. Есть ли какой-либо способ избежать этого? Есть ли такая опция, как декодирование чего-либо или скрытие от ресурса??

Ответ №1:

Это веб, поэтому ответ отрицательный: данные должны попасть в браузер для отображения..

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

Немного вдохновения:

  • вы можете использовать свой собственный формат файла вместо collada. Особенно, если вы просто работаете со статическими моделями, это может быть просто.
  • возможно, используйте библиотеку сжатия, чтобы на вкладке ресурсов был просто двоичный двоичный объект без указания типа содержимого (посмотрите http://stuk.github.io/jszip / или https://github.com/nodeca/pako например)
  • в современных браузерах вы также можете использовать API веб-криптографии (https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto ) для отправки правильно зашифрованного файла в браузер.

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