Php POST请求会导致会话被破坏吗?如果会,如何防止?

Php POST请求会导致会话被破坏吗?如果会,如何防止?,php,google-chrome,session,php-7,Php,Google Chrome,Session,Php 7,当POST请求被发送到我正在处理的应用程序时,会话似乎被破坏了。 这个问题让我发疯——起初我认为我的业务逻辑有问题,然后调试应用程序使用的实际旧的Yii框架。 事实证明,这个问题甚至在普通PHP中也会发生 为了测试的目的,我简化了一些事情,下面是代码。我手动调用的脚本: <?php session_start(); $_SESSION['test'] = '123'; 更新: 看起来这只发生在谷歌浏览器上。在Firefox中测试时,会话不会被破坏。 我有Chrome 87.0,清除了所有

当POST请求被发送到我正在处理的应用程序时,会话似乎被破坏了。 这个问题让我发疯——起初我认为我的业务逻辑有问题,然后调试应用程序使用的实际旧的Yii框架。 事实证明,这个问题甚至在普通PHP中也会发生

为了测试的目的,我简化了一些事情,下面是代码。我手动调用的脚本:

<?php
session_start();
$_SESSION['test'] = '123';
更新:

看起来这只发生在谷歌浏览器上。在Firefox中测试时,会话不会被破坏。
我有Chrome 87.0,清除了所有浏览数据,没有安装任何扩展。

出于好奇。当您从表单中删除
target=“\u blank”
时会发生什么情况?@PavelJanicek非常相同的问题您可以检查会话cookie是否设置了
sameSite
属性,如果是,使用哪个值?然后当前浏览器会将其视为实际设置了
Lax
,这有几个限制,其中之一是,cookie仅为用户发起的顶级导航发送(可能Chrome不认为此表单提交是其中之一?),请尝试将其显式设置为
None
Secure
也必须设置,并且必须使用HTTPS,否则cookie将首先被阻止。)您需要在此处显式设置
None
。浏览器过去将任何值的完全缺失视为隐式的
None
,但这种情况最近有所改变,现在默认为
Lax
<form action="http://localhost/checker.php" method="post" target="_blank">
    <input type="text" name="PaRes" value="IDENTIFIED">
    <input type="submit" value="TEST POST">
</form>
<?php
session_start();
var_dump($_SESSION);
session.auto_start  Off
session.cache_expire    180
session.cache_limiter   nocache
session.cookie_domain   no value
session.cookie_httponly no value
session.cookie_lifetime 0
session.cookie_path /
session.cookie_samesite no value
session.cookie_secure   0
session.gc_divisor  1000
session.gc_maxlifetime  1440
session.gc_probability  1
session.lazy_write  On
session.name    PHPSESSID
session.referer_check   no value
session.save_handler    files
session.save_path   no value
session.serialize_handler   php 
session.sid_bits_per_character  5   
session.sid_length  26
session.upload_progress.cleanup On
session.upload_progress.enabled On
session.upload_progress.freq    1%
session.upload_progress.min_freq    1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_
session.use_cookies 1
session.use_only_cookies    1
session.use_strict_mode 0
session.use_trans_sid   0