Php 用户详细信息更新和安全控制器
我已经开始学习Laravel 5.*目前我正在制作一些基本的管理面板。创建用户/删除/编辑等 我有这个更新用户详细信息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
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)
?您也可以要求使用新密码更新旧密码,并在更新时检查它。电子邮件过滤和验证如何