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

Как защитить файлы компонентов VUE от просмотра неавторизованными пользователями?

Здравствуйте!

Начинаю изучать vue.js в связке с laravel и появился вопрос, на которой не могу найти ответ.

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

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

Есть ли способ загружать определенные компоненты только после авторизации (чтобы неавторизованным пользователям выдавалась ошибка)?
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Можно сделать несколько бандлов и подключать при необходимости.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@iljaGolubev
Например, просмотр шаблона компонента для настройки коэффициентов для расчета рейтинга товаров позволит узнать, какие факторы влияют на рейтинг,

Расчёт рейтинга делайте на стороне laravel. Вообще, всё важное держите на бэке: бизнес-логику, проверку пользовательского ввода... На фронте (vue) только UI.

все исходные файлы js (бандлы) доступны для просмотра даже без авторизации,

Без дополнительной защиты роутов (laravel или веб-сервер) - доступны. Даже если вы используете vite dynamicImports для компонентов доступных после аутентификации - полный список assets доступен в файле manifest.json.

Есть ли способ загружать определенные компоненты только после авторизации (чтобы неавторизованным пользователям выдавалась ошибка)?

Есть. Но это совсем не тривиальная задача для "начинающего изучать vue.js в связке с laravel". Советую для начала сконцентрироваться на изучении сайтов с документаций и пользоваться базовыми функциями фреймворков.
Ответ написан
dima9595
@dima9595
Junior PHP
банальный v-if или v-show вам подойдёт
Ответ написан
Ваш ответ на вопрос

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

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