Как скрыть javascript на сервере?

Стоит задача скрыть скрипт на сервере, то есть чтобы при открытии ссылки через браузер, к примеру site.com/js/script.js было пусто, а при подключении на сайт способом чтобы все подключалось. Так делают различные сервисы, дабы скрыть свой исходный код.
  • Вопрос задан
  • 5214 просмотров
Пригласить эксперта
Ответы на вопрос 7
HoHsi
@HoHsi
Это невозможно. Если скрипт встраивается в сайт, т.е. фронт энд, а не является бэк-энд NodeJS скриптом, его нельзя скрыть.

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

Единственный способом мало-мальски скрыть исходные тексты, это обфускация и минификация.
Все.

P.S. Дайте ссылку на пример где так сделано, аж любопытно.
Ответ написан
streetflush
@streetflush
Ну как вариант, на сервере сделать табличку, в которую генерируется рандомное имя файла и в страницу скрипт с этим именем вставлять динамически.
Сервер пусть проверяет, если по такому имени уже спрашивали файл, отдавать шиш.
Ответ написан
невозможно, максимум что вы можете сделать, это ограничить доступ к нему по логин/паролю, но если предполагается подключение данного скрипта на стороне клиента, то он 100% сможет его скачать и без основной страницы
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
вынести скрипты за пределы htdocs, отдавать скрипты каким хотите server-side скриптом после каких хочешь проверок.
Ответ написан
@crash_nsk
Это можно сделать. Для этого нужно генерировать скрипт, а не отдавать статику.

Например, при обращении к урлу site.com/js/script.js на самом деле происходит обращение к серверу, который делает необходимые проверки. Далее в случае успешной валидации в ответ подсовывается тело скрипта, иначе пустой ответ.

Но тело скрипта всё равно возможно получить на клиенте. Достаточно загрузить страницу и через консоль разработчика посмотреть состав загруженного файла
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Сервисы делают это не для того чтобы скрыть код, это называется защита по реферу.
Ответ написан
Комментировать
@Exp123
Неплохое решение Jscrambler. Помимо обфускации и минификации, у них еще есть такие штуки как самозащита (код сам ломается если его стараються взломать). И разные ловушки в коде, можете сделать так, допустим, что бы ваш код исполнялся только на определенных доменах и тд.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы