Php 用户详细信息更新和安全控制器

Php 用户详细信息更新和安全控制器,php,laravel-5,Php,Laravel 5,我已经开始学习Laravel 5.*目前我正在制作一些基本的管理面板。创建用户/删除/编辑等 我有这个更新用户详细信息 public function update( UserRequest $request){ $user = User::find( $request['id'] ); $hasuser = User::where('email','=',$request['email'])->where('id','!=',$request['id'])->f

我已经开始学习Laravel 5.*目前我正在制作一些基本的管理面板。创建用户/删除/编辑等

我有这个更新用户详细信息

public function update( UserRequest $request){

    $user = User::find( $request['id'] );

    $hasuser = User::where('email','=',$request['email'])->where('id','!=',$request['id'])->first();
    if($hasuser){
        $request->session()->flash('alert-error','User with given email address already exist. Plese try with another email address!!.');
        return redirect()->route('admin.users'); 
    }

    $user->name =  $request['name'];
    $user->email =  $request['email'];
    $user->phone =  $request['phone'];
    $user->role =  $request['role'];

    if(!empty($request['password'])){
        $password = bcrypt($request['password']);
        $user->password = $password;    
    }

    if($user->save())
        $request->session()->flash('alert-success','User updated successfully.');
    else
        $request->session()->flash('alert-error','Can not update User now. Please try again!!.');

    return redirect()->route('admin.users');
}
我不确定的是这个问题

$hasuser = User::where('email','=',$request['email'])->where('id','!=',$request['id'])->first();
从安全性和sql注入的角度来看,该变量是否良好,即
$request['email']
$request['id']


如果不是,你能告诉我什么是一个好方法吗?

Laravel雄辩的ORM使用PDO绑定来避免SQL注入,但这并不是说在你做任何事情之前验证用户输入不是一个好的做法。

谢谢你的回答。你能告诉我在Laravel验证用户输入中有什么特别的东西吗?我是说一些特殊的功能。。。你能给我举个例子吗?举个例子:
!过滤变量($request['email'],filter\u VALIDATE\u email)
?您也可以要求使用新密码更新旧密码,并在更新时检查它。电子邮件过滤和验证如何