現在、ログイン時にログインした人のIPアドレスを保存するという処理を書いたのですが、これだと、処理途中で読み込み停止などをされたらDBにIPアドレスを保存しなくてもログインできてしまうのではと思い。質問させていただきました。
現状ログイン関連などはlaravel/uiで作っており、動作自体は問題なくしています。
PHP
1//LoginController 2<?php 3 4namespace App\Http\Controllers\Auth; 5use Auth; 6use Mail; 7 8use App\Http\Controllers\Controller; 9use App\Providers\RouteServiceProvider; 10use Illuminate\Foundation\Auth\AuthenticatesUsers; 11 12class LoginController extends Controller 13{ 14 15 /* 16 |-------------------------------------------------------------------------- 17 | Login Controller 18 |-------------------------------------------------------------------------- 19 | 20 | This controller handles authenticating users for the application and 21 | redirecting them to your home screen. The controller uses a trait 22 | to conveniently provide its functionality to your applications. 23 | 24 */ 25 26 use AuthenticatesUsers; 27 28 /** 29 * Where to redirect users after login. 30 * 31 * @var string 32 */ 33 protected $redirectTo = RouteServiceProvider::HOME; 34 35 /** 36 * Create a new controller instance. 37 * 38 * @return void 39 */ 40 public function __construct() 41 { 42 $this->middleware('guest')->except('logout'); 43 } 44 protected function authenticated(\Illuminate\Http\Request $request, $user) 45 { 46 $ip[] = ''; 47 $model = \App\LoginHistory::create([ 48 'user_id' => Auth::id(), 49 'ip' => encrypt($_SERVER["REMOTE_ADDR"]) 50 ]); 51 Mail::send('emails.loginhistory', $ip, function($message){ 52 $message->to(decrypt(Auth::user()->email), 'Login')->subject('ログインを確認しました。'); 53 }); 54 return redirect()->intended($this->redirectPath()); 55 } 56 public function username() 57 { 58 return 'name'; 59 } 60} 61
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。