我正在使用laravel vue。在我的第一页加载中,我尝试像这样分配auth用户。在我的刀片文件中,使用
<script>
(function () {
window.Laravel = {
csrfToken: '{{ csrf_token() }}'
};
@if(Auth::check())
window.user={!! Auth::user() !!}
@else
window.user=false
@endif
})();
</script>
我的问题是,用户可以通过浏览器以某种方式操纵此窗口吗? 我不直接使用它,而是从vuex使用它。
非常感谢。
答案 0 :(得分:1)
用户可以更改keyExtractor
的内容,但这无关紧要:验证用户发送回服务器的任何数据是您的任务。例如,您的视图可能包含用于更改用户名的表单。您可以这样做:
window.user
这不是一个好主意,因为用户可以使用表格更改任何用户名。而是在控制器中获取当前用户:
// View
$.ajax({
...
data: {
username: 'New Name',
id: id,
}
});
// Controller
$user = User::find(request('id'));
$user->name = request('username');
$user->save();
此外,我不会将身份验证逻辑放在Blade文件中。相反,我会在控制器中准备相关数据并将其传递给视图(类似$user = Auth::user();
$user->name = request('username');
$user->save();
)
答案 1 :(得分:1)
是的,他们可以操纵。
请不要对在后端实现后端验证感到zy懒。