2016-10-21 2 views
0

ユーザーが自分のバスケットにアイテムを追加すると、データベースにアイテムを予約する必要があります。私は現在セッションID(Session::getId())を使用していますが、これはログイン時に再生成されます。あなたはゲストとして買い物をすることができますが、チェックアウトするには登録する必要があります。Laravel 5.2ログインによる持続的なセッションID、_tokenを使用するためのok?

$request->session()->all()ですべてのセッション変数を調べると、_tokenが見つかりました。これは一意の文字列のように見え、ログイン時に再生成されないため、私はこれを私のバスケットに使用することを考えていましたか?

これは安全ですか?

もしそうでなければ、PHPで私自身のuuidを生成してbasket_idまたは何かとして保存する必要がありますが、これでこれをやる必要がなくなります。

事前に感謝します。

+0

'_token'はcsrf攻撃から防御することです。その他の情報:https://laravel.com/docs/5.3/csrf – ventaquil

+0

@ventaquil完璧な、ちょうど私が探していたもの。 –

答えて

1

わかりましたので、私はここに私のコメントをコピー:

_tokenは、CSRF攻撃を防御することです。詳細はこちらlaravel.com/docs/5.3/csrf

_tokenフィールドはリクエストごとに一意です。このトークンはリクエスト変数またはCookieとして送信できます。

覚えておいてください - デフォルトでは、すべての投稿アクションにはこのフィールドが必要です(ミドルウェアの1つがこれに注目してください)。

機能csrf_token() - またはcsrf_field()でトークン値にアクセスして、HTML入力フィールドを取得できます。

0

Laravelには、セッション用のデータベースドライバがあります。https://laravel.com/docs/5.3/session#driver-prerequisitesです。

これを使用すると、予約済みアイテムテーブルのセッションテーブルを参照できます。ユーザーがゲストかどうかを知ることができます。

あなたは最後のアクティビティを見ることもできます。

+0

私はセッションにredisを使用します。私はバスケットIDのアプローチを使用すると思います。 –

関連する問題