问题标签 [laravel-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 重定向视图后会话仍然提交
我正在使用 Laravel 5.8 开发一个在线商店项目,在这个项目中我添加了一个复选框,用于检查用户是否想通过他的在线钱包支付价格:
然后在控制器上,如果用户选中了复选框,我添加了这个来提交会话:
然后在视图中,我尝试了这个:
基本上我需要在这里做的是检查,如果会话wallet
已提交,根据他的用户 ID 显示所有可用的钱包。
但现在的问题是,当我刷新页面时,它仍然显示钱包。这意味着会话wallet
仍然存在!
我怎么解决这个问题?
laravel - Laravel 8 配置“SESSION_STORE”和“SESSION_DRIVER”
Laravel 8 有配置文件config\session.php
该文件有 2 个参数要存储
'driver' => env('SESSION_DRIVER', 'file'),
和
'store' => env('SESSION_STORE', null)
两者都可以是"apc"
, "dynamodb"
, "memcached"
,"redis"
我看到的唯一区别是“驱动程序”也可以是"file"
, "cookie"
, "database"
,"array"
请告诉我有什么区别,为什么我们在那里有 2 个参数?
php - Laravel 5.8:请求会话似乎没有在控制器上设置会话
我的请求会话似乎没有在控制器中设置会话。正如你所说的$request->session()->flash('charge_wallet',$wallet);
,我试图设置会话charge_wallet
。
然后在视图中bankGateWay.getToken
,我尝试检查会话是否存在。但它返回不存在不知何故!那么这里出了什么问题呢?我该如何解决这个问题?
控制器
看法
php - 注销后带有数据库驱动程序的 Laravel Session 不断更新
我切换到database
Session 驱动程序并迁移了表。我注意到即使在注销操作之后,last_activity
表中的值也会在每次刷新后不断更新,即使用户不再登录也是如此。
我已经尝试从数据库的记录中删除它,但是一旦用户在登录页面刷新,它就会再次插入。
我相信我在注销用户方面做错了。我希望 Laravel 停止刷新会话记录,因为如果每个注销的用户都在刷新时继续访问数据库,这可能会导致问题。
我是这样登录的:
我这样注销:
这是一个通过 Sanctum 的 SPA 项目。
配置/会话.php
用户访问 /login 页面,然后他们被重定向到 /dashboard。基本上,/dashboard 需要授权,否则,你不需要登录。
我试过/dashboard
按path
字段使用并清除配置,它没有工作。
** 我注意到无论用户是否登录,会话都会被注册,只要用户访问该网站,它就会被注册。我的理解是,它发生在用户登录后,因为每当客人访问时插入记录会很麻烦。
我的问题变成了以下问题:如何防止这种行为发生?我只想将会话保存限制在特定路径上,即 /dashboard,并且我想忽略未登录用户的会话跟踪。他们注销的那一刻,会话被破坏。
laravel - 将 Laravel 会话驱动程序从 Cookie 更改为数据库
我想更改 Laravel 会话驱动程序。该应用程序已经启动并运行。有一个辅助类,其中包含访问会话的 getter、setter 和修饰符。
我的问题
如何将驱动程序从 cookie 更改为数据库?将会话驱动程序从 cookie 更改为数据库的正确程序是什么?
php - 2 个 Laravel 应用程序之间的共享会话不起作用
我有 2 个 Laravel 应用程序
应用 1 基于 Laravel 5.4 应用 2 基于 Laravel 8
两个应用程序都连接到同一个数据库并共享相同的APP_KEY
值
两个应用程序在 .env 文件中都有这个
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_DOMAIN=.domain.com
每次我打开应用程序 1 时,应用程序 2 都会注销,当我登录应用程序 2 时,它不会与应用程序 1 共享。
有人可以帮忙吗?
php - 会话放置似乎无法正常工作
我正在使用 Laravel 5.8,我想确保用户只能每 2 小时提交一次表单(只要会话处于活动状态)。
所以我在控制器上尝试了这个:
因此,每次用户提交新请求时,request_has_been_sent
都必须设置会话。
因此,在用户下次提交表单时,如果会话仍处于活动状态,You just submitted a request and cannot submit a new one
则会出现该消息。
但现在的问题是它不起作用。事实上,用户仍然可以在提交请求后立即提交另一个请求。
这意味着会话没有以某种方式设置。
那么这里出了什么问题?我怎样才能正确地做到这一点?
php - 移动设备上的 Laravel 社交名流 InvalidStateException
我在使用 Laravel 编写的 Web 应用程序中使用 github oauth。
我将我的应用程序拉到生产环境中,我遇到了这个问题。
当我在台式机或笔记本电脑上使用该应用程序时,登录没有问题,但是当我尝试使用 github 通过移动设备登录时,它给了我这个异常。我四处寻找解决方案而不是看到“SESSION_DOMAIN”解决方案,但是当我尝试这个解决方案时,我的应用程序的会话停止工作并且移动设备上的问题没有解决。
当我尝试使用小米的默认网络浏览器登录github时,我成功登录了。但是当我尝试使用chrome时,我又遇到了错误。(用很多手机试过)
编辑:当我尝试使用 chrome 83.0、chrome 97.0、Yandex Browser、Opera 和 Mozilla 时没有问题,但是当我在 ios 上尝试使用 chrome 93.0 或 safari 时,我遇到了这个异常。