From d8ba962fa5b58411bb2fb17ed26fac0ecb684f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=86=E3=82=AF=E3=83=8B=E3=82=AB=E3=83=AB=E8=AB=8F?= =?UTF-8?q?=E8=A8=AA=E5=AD=90?= Date: Tue, 7 Jan 2020 16:23:03 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/AuthController.php | 49 ++++++++++++---------- app/Http/Controllers/HomeController.php | 15 ++++++- resources/assets/sass/app.scss | 2 +- resources/views/pages/site/login.blade.php | 32 ++++++++------ routes/view/site.php | 1 + 5 files changed, 62 insertions(+), 37 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index a8aad25..657fd36 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -367,13 +367,16 @@ class AuthController extends Controller { 'inv_per_id' => 4, ]); - return array('1'); + setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1); + return view(''); + + //return array('1'); } return array(); } - public function login(Request $r) { + public function login (Request $r) { if (!empty($r)) { $checkName = DB::table('users') ->select('*') @@ -386,28 +389,30 @@ class AuthController extends Controller { 'salt' ); - // $checkName = json_decode(json_encode($checkName), true); - $checkPass = hash('sha256', $r->password . $checkName->salt); + if ($checkName) { + // $checkName = json_decode(json_encode($checkName), true); + $checkPass = hash('sha256', $r->password . $checkName->salt); - for ($round = 0; $round < 65536; $round++) { - $checkPass = hash('sha256', $checkPass . $checkName->salt); - } - - if (hash_equals($checkPass, $checkName->password)) { - if (!$checkName->kero_token) { - $checkName->kero_token = $this->makeToken(); - - DB::table('users') - ->where('id', $checkName->id) - ->update([ - 'kero_token' => $checkName->kero_token - ]); + for ($round = 0; $round < 65536; $round++) { + $checkPass = hash('sha256', $checkPass . $checkName->salt); } - return array( - 'uid' => $checkName->id, - 'kero_token' => $checkName->kero_token - ); + if (hash_equals($checkPass, $checkName->password)) { + if (!$checkName->kero_token) { + $checkName->kero_token = $this->makeToken(); + + DB::table('users') + ->where('id', $checkName->id) + ->update(['kero_token' => $checkName->kero_token]); + } + + setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1); + + return array( + 'uid' => $checkName->id, + 'kero_token' => $checkName->kero_token + ); + } } return array('err' => 'パスワードが違う'); } @@ -576,7 +581,7 @@ class AuthController extends Controller { public function logout () { if (isset($_COOKIE['kero_token'])) { unset($_COOKIE['kero_token']); - setcookie('kero_token', '', time() - 3600, '/'); + setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1); } return redirect(''); diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index c40db3b..61d6eda 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -7,6 +7,8 @@ use App\Http\Controllers\AuthController; use App\Http\Controllers\SiteController; use App\Http\Controllers\UserController; +use Illuminate\Support\Facades\Log; + class HomeController extends Controller { private $objAuth; private $objSite; @@ -50,14 +52,23 @@ class HomeController extends Controller { return view('pages.site.page', compact(['res', 'menu', 'user'])); } - public function login () { + public function login (Request $r) { if (isset($_COOKIE['kero_token'])) return redirect(''); + $menu = $this->menu; $cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''); $id = $this->objAuth->checkLegit($cook); $user = $this->objUser->getUser2($id, $cook); $res = array(); - return view('pages.site.login', compact(['res', 'menu', 'user'])); + $err = ''; + + if (isset($r->username) && isset($r->password)) { + $res = $this->objAuth->login($r); + if (isset($res['kero_token'])) return redirect(''); + $err = $res['err']; + } + + return view('pages.site.login', compact(['res', 'menu', 'user', 'err'])); } public function register () { diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index 25b9126..3f56dc0 100644 --- a/resources/assets/sass/app.scss +++ b/resources/assets/sass/app.scss @@ -280,7 +280,7 @@ border-bottom-color: #27ae60; border-right-color: #27ae60; } - .btn-danger, .btn-danger.disabled, .btn-danger:disabled { + .btn-danger, .btn-danger.disabled, .btn-danger:disabled, .alert-danger { color: #fcfcfc; background-color: #da4453; border-color: transparent; diff --git a/resources/views/pages/site/login.blade.php b/resources/views/pages/site/login.blade.php index 2af9c74..45011b2 100644 --- a/resources/views/pages/site/login.blade.php +++ b/resources/views/pages/site/login.blade.php @@ -4,19 +4,27 @@
サインイン
-
-
-
ユーザー名
-
-
-
-
パスワード
-
-
-
-
-
+
+ @if ($err) + + @endif +
+ @csrf +
+
ユーザー名
+
+
+
+
パスワード
+
+
+
+
+
+
+
diff --git a/routes/view/site.php b/routes/view/site.php index e01541a..92a70a5 100644 --- a/routes/view/site.php +++ b/routes/view/site.php @@ -3,5 +3,6 @@ Route::get('/', 'HomeController@index'); Route::get('/blog/{slug}', 'HomeController@post'); Route::get('/login', 'HomeController@login'); +Route::post('/login', 'HomeController@login'); Route::get('/register', 'HomeController@register'); Route::get('/{slug}', 'HomeController@page'); \ No newline at end of file