タイトル: Laravel ログイン時間有効期限ポリシーの最適化とシステムセキュリティの向上
Web 開発において、ユーザーログイン機能は基本機能の 1 つです。システムのセキュリティを確保するには、ログイン時間の有効期限ポリシーが特に重要です。 Laravel フレームワークを使用して開発する場合、ログイン時間の有効期限ポリシーを最適化することで、システムのセキュリティをさらに向上させることができます。この記事では、Laravel でログイン時間の有効期限戦略を最適化する方法を紹介し、具体的なコード例を示します。
Laravel では、ユーザーのログイン状態はデフォルトで 2 週間 (1209600 秒) 維持されます。これは、ユーザーはログイン後、2 週間はユーザー名とパスワードを再入力せずにログインしたままでいられることを意味します。ただし、一部の機密性の高い操作や、高度なセキュリティ要件が必要なシステムの場合、このデフォルト設定は十分に安全ではない可能性があります。したがって、設定ファイルを変更することで、ログインの有効期限を短く設定できます。
configsession.php
設定ファイルを開き、ファイル内の lifetime
パラメータを見つけて、そのパラメータを変更します私たちの値 必要なログイン有効期限。たとえば、ログイン有効期限を 1 時間 (3600 秒) に設定します:
'lifetime' => 3600,
ログイン有効期限を短く設定するだけでなく、アクティブにログアウトすることもできます。システムのセキュリティを向上させる方法。たとえば、ユーザーが機密性の高い操作を実行した場合、事前にユーザーにログアウトを求め、ユーザー名とパスワードの再入力を要求できます。
Laravel では、次のコードを使用してユーザーのログイン状態をアクティブにログアウトできます:
Auth::logout();
セキュリティを強化するためにシステムの場合、シングル サインオン メカニズムの使用も検討します。シングル サインオンを使用すると、ユーザーは一度ログインするだけで済み、繰り返しログインすることなく、複数の関連システムでシングル サインオンを使用できます。これにより、ログアウトを忘れるユーザーの数が減り、システムのセキュリティが向上します。
Laravel で Passport
を使用してシングル サインオンを実現できます。まず、Passport パッケージをインストールします:
composer require laravel/passport
次に、php Artisan Passport:install
コマンドを実行して、Passport をインストールします。最後に、AuthServiceProvider
に Passport ルートを登録します:
use LaravelPassportPassport; Passport::routes();
システムは、次のようなログイン失敗のカスタム処理を実行する必要がある場合があります。特定のページにジャンプしたり、ログを記録したりすることができます。 Laravel では、カスタムミドルウェアを通じてこの機能を実現できます。
まず、CustomSessionTimeoutRedirect
という名前のミドルウェアを作成します:
php artisan make:middleware CustomSessionTimeoutRedirect
次に、ミドルウェア ロジックの handle
メソッドにカスタム処理を実装します:
public function handle($request, Closure $next) { if (Auth::check() && time() - strtotime(auth()->user()->updated_at) > config('session.lifetime')) { Auth::logout(); return redirect()->route('login')->with('session_timeout', '登录已失效,请重新登录'); } return $next($request); }
最後に、グローバル ミドルウェアまたはルーティング ミドルウェアで使用できるミドルウェアを Kernel.php
に登録します。
'custom.session.timeout' => AppHttpMiddlewareCustomSessionTimeoutRedirect::class,
ログイン時間を最適化することによって有効期限ポリシーを使用すると、システムのセキュリティをさらに向上させることができます。この記事では、ログイン有効期限を短く設定する方法、積極的にログアウトする方法、シングル サインオンを使用する方法、ログイン有効期限の処理をカスタマイズする方法について説明します。これらの方法が、開発者がシステムのセキュリティを向上させ、ユーザーのアカウント情報を保護するのに役立つことが期待されています。
以上がLaravelのログイン時間有効期限ポリシーを最適化してシステムのセキュリティを向上させますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。