LINUX.ORG.RU

Как закрыть доступ пользователя сайта к src js файлам как для просмотра так и для скачивания?

 , , ,


0

1

Тут вот нашёл https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/www-a.... Может у кого ещё есть идеи, опыт в таком деле.

Никак.

Если в них бизнес-логика, перенесите в API, на стороне пользователя будет только форма ввода, а логика останется на сервере.

mydibyje ★★★★
()
Ответ на: комментарий от saufesma

Ещё можно заставить юзера использовать веб-клиент без DevTools, типа приложение с WebView.

mydibyje ★★★★
()

Никак. А ссылка, что вы привели, это вообще какой-то левый ливер.

Как уже сказали, бизнес бизнес-логику надо держать на сервере.

Есть ещё вариант. WASM. Оно, правда, (по крайней мере, пока) никак не умеет работать с DOM. Без внешних прослоек.

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

Тогда это не проблема. Думаю, странный IL вместо даже хотя бы обфусцированного, но кода, явно у многих отобьет желание разбираться.

Можете прямо JS в WASM и компилировать. Можете перед этим ещё и обфусцировать.

А если вы эту логику напишете в оригинале на плюсах… Что там будет… 😱😱😱

  1. Если вы решите пойти аж по такой дорожке упадничества и разврата — можете глянуть на проекты вроде asm-dom. Правда там всё равно происходит типа-IPC между wasm и JS/DOM, с очевидными накладными расходами.

  2. Ещё, как вариант, если у вас основное приложение написано на каком-нибудь реактивном фреймворке, можете из WASM поманипулировать внешним стейтом — а там ужо и отрисуется как положено.

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

witaway
()
Последнее исправление: witaway (всего исправлений: 1)

Закрыть доступ, понятное дело нельзя, но затруднить легко:

  • Отключить контекстное меню:

    <body oncontextmenu=«return false;»>

  • Заблокировать Crtl-U через js портянку (самостоятельная работа)

Понятно, что текст получить всё равно можно, но 90% пользователей не смогут.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)
Ответ на: комментарий от witaway

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

Имеется ввиду WebSocket?

saufesma
() автор топика
Ответ на: комментарий от saufesma

Вместо вычислений в src js, отправляете там запрос на сервер и ждёте когда ваш сервер, к просмотру кода оного у юзера точно доступа нет, посчитает. Но это не подойдёт, если например пытаетесь скрыть логику рендеринга, задержка будет большая, тогда наверное лучше WASM.

mydibyje ★★★★
()
Ответ на: комментарий от mydibyje

У меня 6 чисел из таблицы отправить и 5 рассчитанных чисел получить в таблицу.

Но ведь можно и Ctrl-u и посмотреть, что да как в коде.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от saufesma

У меня 6 чисел из таблицы отправить и 5 рассчитанных чисел получить в таблицу.

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

static_lab ★★★★★
()

Не выкладывать в сеть.

special-k ★★★★
()
Ответ на: комментарий от saufesma

Все, вообще все запросы браузера (самой страницы и всех ее ресурсов, таких как картинки, css и js) прозрачны и видны в инструментах разработчика. Все можно посмотреть. Более того, можно изменить если надо.

special-k ★★★★
()
Ответ на: комментарий от saufesma

Пишешь на беке все что у тебя крутого и важного, дергаешь js-ом свой бек, условные json-ы с результатами туда-сюда гоняешь как обычно принято. REST API нынче в моде.

ЗЫ

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

anonymous
()

На энджиниксе отфильтруй.

ya-betmen ★★★★★
()

Удали их со своего сайта и всё.

vbr ★★★★
()
Ответ на: комментарий от anonymous

Какой урод придумал конечно назвать логику предметной области бизнес логикой ума не приложу

Это калька. В английском бизнес – это дело (не обязательно умножение денег), соответственно, «бизнес-логика» – деловая логика.

hobbit ★★★★★
()
Ответ на: комментарий от static_lab

CGI or Common Gateway Interface is an interface type for web servers to execute apps that execute like console applications running on a server that generates web pages in dynamical way.

saufesma
() автор топика

Как закрыть доступ пользователя сайта к src js файлам как для просмотра так и для скачивания?

Может у кого ещё есть идеи

Ну по классике: Начни, конешшшно, с тупорылых обработчиков с алертами «Айяйяй, как нистыдна!» Потом, когда обработчики отломят, лабай сразу виртмашину на js с байткодом и шифрованием. Векторную, гипертекстовую, конешшшно. Никаких полумер.

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от vtVitus

Понятно, что текст получить всё равно можно, но 90% пользователей не смогут.

Так 90% пользователей и не надо :)

MoldAndLimeHoney
()
Ответ на: комментарий от slackwarrior

Потом, когда обработчики отломят, лабай сразу виртмашину на js с байткодом и шифрованием.

Всё так!..

anonymous
()
Ответ на: комментарий от saufesma

Думаешь, я не знаю, что такое CGI? Я утверждаю, что на сервере не обязательно может быть CGI. Кроме того, CGI далеко не всегда пересекается с PHP.

static_lab ★★★★★
()
Ответ на: комментарий от slackwarrior

А лучше найти на гитхабе минималистичную виртуальную машинку на Си с компилятором в её байт-код — и уже это заворачивать в WASM!

witaway
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.