在 Laravel 中以相同名称保存会话安全吗?
Is saving session under the same name safe in Laravel?
我需要在数据库中保存付款数据。所以其中一种方法是将数据存储到会话中,并在保存部分中完成其余部分。
我是这样保存的:
$request->session()->put('paymentData', $request->all());
然后在另一个控制器中我调用同一个会话,做一些事情然后删除会话:
$data = $request->session()->get('paymentData', 'default');
// do some DB storing
// delete session
$request->session()->forget('paymentData');
我的问题是,如果两个用户同时进行付款。他们是否会混合使用这些会话,因为他们将以相同的名称 paymentData
访问它?会话将存储在 storage\session 中的文件中。或者 Laravel 有一些方法可以区分这两个会话,即使它们具有相同的 name/key?
会话是为每个浏览器会话创建的。 Session 实例由特定的会话 ID 访问。浏览器将会话 ID 保存在 cookie 中并在每次发出请求时发送它,因此服务器知道该请求使用哪个会话。
您在 中放置的内容可以毫无问题地复制会话 - 其他用户看不到该数据(除非他们以某种方式通过浏览器攻击获得会话 ID)。
我需要在数据库中保存付款数据。所以其中一种方法是将数据存储到会话中,并在保存部分中完成其余部分。
我是这样保存的:
$request->session()->put('paymentData', $request->all());
然后在另一个控制器中我调用同一个会话,做一些事情然后删除会话:
$data = $request->session()->get('paymentData', 'default');
// do some DB storing
// delete session
$request->session()->forget('paymentData');
我的问题是,如果两个用户同时进行付款。他们是否会混合使用这些会话,因为他们将以相同的名称 paymentData
访问它?会话将存储在 storage\session 中的文件中。或者 Laravel 有一些方法可以区分这两个会话,即使它们具有相同的 name/key?
会话是为每个浏览器会话创建的。 Session 实例由特定的会话 ID 访问。浏览器将会话 ID 保存在 cookie 中并在每次发出请求时发送它,因此服务器知道该请求使用哪个会话。
您在 中放置的内容可以毫无问题地复制会话 - 其他用户看不到该数据(除非他们以某种方式通过浏览器攻击获得会话 ID)。