diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 657fd36..f4de4ab 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -228,66 +228,26 @@ class AuthController extends Controller { } } - public function register(Request $r) { + public function register (Request $r) { $ip = $_SERVER['REMOTE_ADDR']; - // Anti-spam here. - if (!empty($r)) { - // Check username. - //// Exists? - $existUser = DB::table('users') - ->select('id') - ->where('username', $r->username) - ->first(); - - if ($existUser != 0) { - return array('Username already exists.'); - } - - //// Empty? - if (empty($r->username)) { - return array('Username is empty.'); - } - - //// Valid? - if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) { - return array('Please use English characters only.'); - } - - // Check password. - //// Empty? - if (empty($r->password)) { - return array('Password is empty.'); - } - - // Check email. - //// Exists? - $existEmail = DB::table('users') - ->select('id') - ->where('email', $r->email) - ->first(); - - if ($existEmail != 0) { - return array('Email already exists'); - } - - //// Empty? - if (empty($r->email)) { - return array('Email is empty.'); - } - - //// Valid? - if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) { - return array('Email is invalid.'); - } + $existUser = DB::table('users')->select('id')->where('username', $r->username)->first(); + if ($existUser != 0) return array('err' => 'ユーザ名は既に登録しています。'); + if (empty($r->username)) return array('err' => 'ユーザ名は空です。'); + if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) return array('err' => '英文字ばかりご入力下さい。'); + if (empty($r->password)) return array('err' => 'パスワードは空です。'); + if (empty($r->password_check)) return array('err' => 'パスワード(確認)は空です。'); + if ($r->password != $r->password_check) return array('err' => 'パスワードとパスワード(確認)は違います。'); + $existEmail = DB::table('users')->select('id')->where('email', $r->email)->first(); + if ($existEmail != 0) return array('err' => 'メールアドレスは既に登録しています。'); + if (empty($r->email)) return array('err' => 'メールアドレスは空です。'); + if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) return array('err' => 'メールアドレスを正しくご入力下さい。'); $salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647)); $passwd = hash('sha256', $r->password . $salt); - for ($round = 0; $round < 65536; $round++) { - $passwd = hash('sha256', $passwd . $salt); - } + for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); } $addUser = DB::table('users') ->insertGetId([ @@ -368,7 +328,7 @@ class AuthController extends Controller { ]); setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1); - return view(''); + return $this->login($r); //return array('1'); } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 61d6eda..9feb4cc 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -71,14 +71,23 @@ class HomeController extends Controller { return view('pages.site.login', compact(['res', 'menu', 'user', 'err'])); } - public function register () { + public function register (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.register', compact(['res', 'menu', 'user'])); + $err = ''; + + if (isset($r->username) && isset($r->password) && isset($r->email) && isset($r->password_check)) { + $res = $this->objAuth->register($r); + if (isset($res['kero_token'])) return redirect(''); + $err = $res['err']; + } + + return view('pages.site.register', compact(['res', 'menu', 'user', 'err'])); } public function notfound () { diff --git a/resources/views/pages/site/register.blade.php b/resources/views/pages/site/register.blade.php index 2a859c2..4fa168b 100644 --- a/resources/views/pages/site/register.blade.php +++ b/resources/views/pages/site/register.blade.php @@ -4,54 +4,57 @@
新規登録
-
-
-
ユーザー名 必須
-
-
-
-
パスワード 必須
-
-
-
-
パスワード確認 必須
-
-
-
-
電子メール 必須
-
-
-
-
-
-
-
-
性別
-
-
-
-
- - - -
+
+
+ @csrf +
+
ユーザー名 必須
+
+
+
+
パスワード 必須
+
+
+
+
パスワード確認 必須
+
+
+
+
電子メール 必須
+
+
+
+
+
+
+
+
性別
+
+
+
+
+ + + +
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/routes/view/site.php b/routes/view/site.php index 92a70a5..aeb8026 100644 --- a/routes/view/site.php +++ b/routes/view/site.php @@ -5,4 +5,5 @@ Route::get('/blog/{slug}', 'HomeController@post'); Route::get('/login', 'HomeController@login'); Route::post('/login', 'HomeController@login'); Route::get('/register', 'HomeController@register'); +Route::post('/register', 'HomeController@register'); Route::get('/{slug}', 'HomeController@page'); \ No newline at end of file