在vue的组件中更改密码的安全性

时间:2017-08-22 18:33:53

标签: laravel security vue.js

我在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'
            ]);

        }
}

我向你们提出的问题是:这种方法安全吗?如果没有,你能以更好的方式解释如何做到这一点吗?

1 个答案:

答案 0 :(得分:1)

当您通过网络发送敏感数据时,必须使用SSL。

  

SSL(安全套接字层)是一种加密用户和Web服务器之间通信的技术。它有助于防止基于窃听的黑客攻击。当您使用受SSL保护的网页时,您会看到一个挂锁图标,可确保该页面是安全的。