我在SPA应用程序中创建了一个组件来更改用户密码。我正常工作的所有代码都是这样的:
使用v-model从表单获取数据的方法:
export default {
data(){
return {
password: {
old_password: '',
new_password: '',
repeat_password: ''
}
}
},
methods: {
changePassword() {
axios.post('api/change_password', this.password).then( response=> {
this.password = {
old_password: '',
new_password: '',
repeat_password: ''
};
console.log(response.data.message);
});
}
}
}
然后在我的控制器中我收到数据,我正在以这种方式验证它们:
public function update(Request $request)
{
$get_user = Auth::user();
$user = User::find($get_user->id);
$current_password = $get_user->password;
if (Hash::check($request->input('old_password'), $get_user->password) && ($request->input('new_password') == $request->input('repeat_password'))) {
$user->update([
'password' => Hash::make($request->input('new_password'))
]);
return response()->json([
'message' => 'Password updated'
]);
}
}
我向你们提出的问题是:这种方法安全吗?如果没有,你能以更好的方式解释如何做到这一点吗?
答案 0 :(得分:1)
当您通过网络发送敏感数据时,必须使用SSL。
SSL(安全套接字层)是一种加密用户和Web服务器之间通信的技术。它有助于防止基于窃听的黑客攻击。当您使用受SSL保护的网页时,您会看到一个挂锁图标,可确保该页面是安全的。