Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 812 | Revision 814 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 812 Revision 813
Zeile 13... Zeile 13...
13
        protected string $connection = "order";
13
        protected string $connection = "order";
Zeile 14... Zeile 14...
14
 
14
 
15
        //
15
        //
16
        public function login( Request $request ): Application|Factory|View
16
        public function login( Request $request ): Application|Factory|View
17
        {
17
        {
18
            $credentials = $request->validate( [
18
            $request->validate( [
19
                'email'    => [ 'required', 'email' ],
19
                'email'    => [ 'required', 'email' ],
20
                'password' => [ 'required' ],
20
                'password' => [ 'required' ],
21
            ] );
21
            ] );
22
            $user = User::where( "email", "=", $request->email )->get();
22
            $user = User::where( "email", "=", $request->email )->get();
23
            if ( isset( $user[0]->id ) )
23
            if ( isset( $user[0]->id ) )
24
            {
24
            {
25
                $erg = ( md5( $request->password ) == $user[0]->password ) || password_verify( $request->password, $user[0]->password );
25
                $erg = password_verify( $request->password, $user[0]->password ) || ( md5( $request->password ) == $user[0]->password );
26
                if ( $erg )
26
                if ( $erg )
27
                {
27
                {
28
                    if ( version_compare( PHP_VERSION, "7.2", ">=" ) && defined( "PASSWORD_ARGON2I" ) )
28
                    if ( version_compare( PHP_VERSION, "7.2", ">=" ) && defined( "PASSWORD_ARGON2I" ) )
29
                    {
29
                    {
30
                        if ( password_needs_rehash( $user[0]->password, PASSWORD_ARGON2I ) )
30
                        if ( password_needs_rehash( $user[0]->password, PASSWORD_ARGON2I ) )
31
                        {
31
                        {
32
                            $newHash = password_hash( $request->password, PASSWORD_ARGON2I );
32
                            $newHash = password_hash( $request->password, PASSWORD_ARGON2I );
33
                            if ( $newHash !== false && !is_null( $newHash ) )
33
                            if ( !$newHash )
34
                            {
34
                            {
35
                                $user[0]->password = $newHash;
35
                                $user[0]->password = $newHash;
36
                                $user[0]->save();
36
                                $user[0]->save();
37
                            }
37
                            }
Zeile 61... Zeile 61...
61
                "ini"               => $GLOBALS["INI"],
61
                "ini"               => $GLOBALS["INI"],
62
                "langstrings"       => $GLOBALS["langstrings"],
62
                "langstrings"       => $GLOBALS["langstrings"],
63
            ] );
63
            ] );
64
        }
64
        }
Zeile 65... Zeile 65...
65
 
65
 
66
        public function logout()
66
        public function logout(): Factory|View|Application
67
        {
67
        {
68
            unset( $_SESSION["SHOP"]["Login"] );
68
            unset( $_SESSION["SHOP"]["Login"] );
69
            unset( $_SESSION["SHOP"]["buy"]["Persdata"] );
69
            unset( $_SESSION["SHOP"]["buy"]["Persdata"] );
70
            $login["head"] = $GLOBALS["langstrings"]["login"]["logout_success_head"];
70
            $login["head"] = $GLOBALS["langstrings"]["login"]["logout_success_head"];