Задать вопрос
@uncleJasper

Безопасность кода на JS?

Добрый день коллеги. Пишу на языке ABAP/4 (SAP). По работе (да и не только) сталкивался с JS. Недавно по работе писал бэкэнд на JS на фрэймворке OpenUI5 (open source SAPUI5). И внезапно возникла такая мысль: а почему весь код "торчит кишками" наружу!? Т.е. пользователю доступен в отладчике в браузере весь код странице в том числе и JS. В этом коде может содержаться важная инфа, формулы расчёта и т.п., а браузер легко её выдаёт пользователю на обозрение (ну если он знает про отладку страниц). Ну и вишенка на торт: с помощью REPL можно менять поведение scripta (но это не точно).
Ну и собственно вопрос: как вообще безопасники смотрят на то, что код открыт? Даже тот самый Node.js, для бэкэнда крупных проектов, позволяет в браузере отлаживать код! Почему его браузер не скрывает от пользователя?! PHP скрывает, JS - нет. Возможно я не знаю принципов разработки крупных приложений на JS и слишком много бэкэнда попадает пользователю!?

p.s. про обфускацию кода знаю. Но если злоумышленник захочет, и его можно разобрать - вопрос в затраченном времени
  • Вопрос задан
  • 639 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
Negezor
@Negezor
Senior Shaurma Developer
Вы понимаете что весь код доступный браузере не может быть априори безопасным, так как он доступен всем у кого есть доступ к сайту. Отладка Node.js недоступна пользователям так как для этого нужно запустить node в режиме --debug. Важную логику не храните на клиентском JS, оставьте её на сервере. А в браузере сделайте минификацию и отключите source map.
Ответ написан
Комментировать
Ptolemy_master
@Ptolemy_master
Подозреваю, что вы все же делали фронт-энд, а не бэкэнд. С сайта этой библиотеки: "It eases your development with a client-side HTML5 "

Что касается бэкэнда, Node.js нельзя отлаживать в браузере удаленно. То есть может быть сейчас и можно, но это доступно только владельцу сервера (разработчику).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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