2016-07-13 22 views
2

私は、さまざまなサーバー上の多数の異なるデータベースに接続できるLaravel管理アプリケーションを作成しています。私は、サーバーがある時点で侵害されたオフチャンスで、サーバー上のクリアテキストでパスワードを保管したくないので、ローカルのアプリケーションだけでなく、すべてのアプリケーションのデータにアクセスできます。Laravelにデータベースのパスワードを一時的に保存するにはどうすればよいですか?

ユーザーがアクセスするデータベースの1つをクリックすると、そのデータベースのパスワードを入力してから、そのセッションの間アクセスを許可する必要があります。

私はセッション変数にパスワードを保存できましたが、これが安全かどうかはわかりません。これを行う最も安全な方法は何ですか?

+0

最善の方法は、強力な塩を使用して、laravel5のデフォルトの暗号化/復号化メカニズムを使用することです。 –

答えて

1

セッションクラスを使用して暗号化して保存できます。

セッションを暗号化し、ユーザーパスを暗号化された変数として格納することができます。あなたはここでそれを行う方法を見ることができます

https://laravel.com/docs/5.1/session

そして、あなたは暗号化クラスを使用して暗号化/復号化することができます。 https://laravel.com/docs/5.1/encryption

// Somewhere in your controller 
$encrypted = Crypt::encrypt($value); 
$request->session()->put('encrypted_pass', $encrypted); 

// Later in your controller 
$encrypted= $request->session()->get('encrypted_pass', 'default_if_any'); 
$decrypted = Crypt::decrypt($encrypted); 

そのような何かが動作する可能性があり、あなたのニーズに合わせてそれを変更する必要があります。

関連する問題