是否会雄辩地说出在laravel中的安全性?

问题描述 投票:0回答:1

我刚刚开始学习使用laravel编程,当我不得不使用foreach打印出一些用户数据及其ID时,

like

{{ $user->username }}
{{ $user->somedata1 }}

而其他部分看起来像

路线

Route::get('/some/{user}', 'SomeController@show');

控制器

public function show(User $user){

return view(some.show)->with('user' $user)
}

用户表

id
username
somedata1
somedata2
password
addr
birthday
...

我开始考虑这会不会调用其表行中的每个数据,然后从中打印出用户名?因此冒着某种安全问题的风险,例如暴露敏感数据,例如密码,地址等?

如果是这样,如何隐藏特定的列以免被调出?我是否需要从控制器手动准备数据?

添加:示例中的控制器是否返回其行中的所有内容?

php laravel
1个回答
1
投票

首先,即使您向视图公开密码,鉴于您正在使用Laravel的身份验证支架,也不必担心,因为密码是通过bcrypt进行哈希处理的。任何经过哈希处理的字符串都不能反转。

第二,您可以使用Eloquent的select()方法。您可以按照以下步骤进行操作:

Model::select('column_1','column_2')->where('column_1', 'value')->get();

我认为这解决了您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.