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

Как передать данные Laravel > blade > Vue?

Доброго время суток
Сделал сайт на Laravel, в контроллере в качестве view использовал blade шаблон, через который передавались данные в props Vuejs.

так выглядит шаблон welcome.blade.php
@extends('layouts.app_n')

@section('content')
    <global-key-hook></global-key-hook>
    <flash-message style="position: absolute; top: 5rem; z-index: 100"></flash-message>
    <nav-bar-n
        :url="{{$url}}"
        :data="{}"
        :is-auth="{{ $isAuth }}"
        :is-admin="{{ $isAdmin }}"
        :project-info="{{ $project_info }}"
        :auth-user="{{ $auth_user }}"
        :page-menu="{{ $menu }}"
        :get-m-errors="{{ $errors }}"
        :channel="{{ $channel }}"
        :nav="{{$nav}}"
    ></nav-bar-n>

    <page-welcome>
    </page-welcome>
@endsection


Когда я всё это разрабатывал думал что в версии production всё это превратиться в один большой app.js
После запуска npm run prod к своему удивлению обнаружил что весь этот шаблон "светит" наружу, и через любой браузер можно увидеть следующее:

679207bb09b94339793074.png

Отсюда вопрос, на сколько это безопасно, и как правильно, с точки зрения безопасности, передавать исходные данные из Laravel в Vuejs
  • Вопрос задан
  • 35 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 1
pLavrenov
@pLavrenov
Разработка сайтов
Даже если ты отправишь через ajax ничего не изменится, ответы пользователь все равно увидит. Этот метод передачи пропсов стандартный и давно.

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

А если ну прям совсем не хочешь показывать - зашифруй! расшифруешь в компоненте, только не понятно зачем.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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