могут ли данные в переменных быть утечкой? Laravel - PullRequest
0 голосов
/ 31 октября 2019

Я работаю над проектом рефералов, и моя тестовая функция выглядит следующим образом (для проверки привлеченных пользователей):

$referrals = auth::user()->referrals;
echo $referrals;

Вывод следующего:

[{"id":2,"name":"XYZ","email":"abc@def.com","is_subscribed":"0","is_referrer":"0","created_at":"Time here","referred_by":"1"}]

и в контроллере:

$referrals = auth::user()->referrals;
$host = request()->getHost();
$Link = $host.'?ref='.\Hashids::encode(auth()->user()->id);
foreach ($referrals as $users){
    return view('dashboard', compact('users', 'Link'));
}

Все работает нормально, но я боюсь, что в случае атаки на мой сайт будут пропущены адреса электронной почты других рекомендованных пользователей.

в моих представленияхЯ показываю только «Имя привлеченных пользователей».

<td>
   {{ $users->name }}
</td>

это нормально? делать такие вещи?

спасибо

Ответы [ 2 ]

1 голос
/ 31 октября 2019

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

Вы также можете объявить скрытые значения для моделей, которые не отображаются в ответах.

Надеюсь, это помогло

1 голос
/ 31 октября 2019

Нет. Шаблон блейда собран на стороне сервера. Пока вы не выводите данные в представление (и вы не работаете в режиме разработки на производстве), утечка будет невозможна. благодаря! - @ Джереми Харрис

очень помог!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...