我的回调有个奇怪的问题。我有一条路线,由一个支付提供商打回来,有几件奇怪的事情正在发生。
在另一个服务器上的同一个应用程序没有这些问题。我进行了迁移,所有参数都是相同的,因此Laravel和Php的配置是相同的,但仍然是随机的,有些客户在被提供者重定向时没有会话。
我设法在没有会话的情况下处理回调,直到找出问题的原因,但奇怪的是,一些通过邮件发送的刀片/ pdf的翻译也显示为密钥,而不是它们的价值。
我尝试过使用session.php配置来处理samesite、生存期等问题,尽管之前的服务器没有给我任何这些问题,值相同;但是没有什么帮助。
还有一件事我还没有尝试过,那就是将web中间件设置到这个路径上,但正如我所说的,我正在尝试操纵从未出现问题的东西。
php.ini
Session Support => enabled
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => no value => no value
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => 0 => 0
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions
session.serialize_handler => php => php
session.sid_bits_per_character => 5 => 5
session.sid_length => 26 => 26
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => 1 => 1
session.use_only_cookies => 1 => 1
session.use_strict_mode => 0 => 0
session.use_trans_sid => 0 => 0
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
XDG_SESSION_TYPE => tty
XDG_SESSION_CLASS => user
XDG_SESSION_ID => 4663
DBUS_SESSION_BUS_ADDRESS => unix:path=/run/user/1000/bus
$_SERVER['XDG_SESSION_TYPE'] => tty
$_SERVER['XDG_SESSION_CLASS'] => user
$_SERVER['XDG_SESSION_ID'] => 4663
$_SERVER['DBUS_SESSION_BUS_ADDRESS'] => unix:path=/run/user/1000/busconfig/session.php
...
'driver' => 'file',
'lifetime' => 1200,
'path' => '/',
'secure' => false,
'samesite' => null,
'expire_on_close' => false, 这是什么原因?我遗漏了什么?
发布于 2022-08-27 15:16:56
为了完成可靠的通信,而不依赖于查找或理解(会话),就像有那么多事情可能或将来有一天会发生的那样;我以不同的方式处理了这一问题,但在生产中采用了第三种方法,即当我在比较平静的水域时切换到第二种。
confirmation route
confirmation route,会话将再次附加。
confirmation route时,使用一些预交换散列密钥,这样当您被召回时,您可以使用这些密钥来查找连接到该付款的用户,登录该用户并设置您通常需要的会话数据,以便confirmation route工作。secure必须是通信
我学到的最重要的规则是:
绝不会期望支付提供商不会破坏您的会话
希望这些能帮到别人。
https://stackoverflow.com/questions/73490074
复制相似问题