Fiix cookies with some browsers (#8867)

Fix https://github.com/FreshRSS/FreshRSS/issues/8850
Fix login with e.g. SeaMonkey
Regression due to https://github.com/FreshRSS/FreshRSS/pull/8778
This commit is contained in:
Alexandre Alapetite
2026-05-19 23:03:51 +02:00
committed by GitHub
parent b7c58e590e
commit 8e007af39d
2 changed files with 12 additions and 8 deletions
+2
View File
@@ -187,6 +187,8 @@ class FreshRSS_auth_Controller extends FreshRSS_ActionController {
Minz_Request::setBadNotification(_t('feedback.auth.login.invalid'));
Minz_Request::forward(['c' => 'auth', 'a' => 'login'], false);
}
} else {
Minz_Session::deleteLegacyCookie('FreshRSS'); // Delete legacy cookie (before 1.29.0)
}
}
+10 -8
View File
@@ -55,14 +55,6 @@ class Minz_Session {
session_name($name);
// Delete legacy cookie (before 1.29.0) if it exists
if (isset($_COOKIE[$name])) {
$legacyDir = self::getLegacyCookieDir();
if ($legacyDir !== '' && $legacyDir !== '/') {
setcookie($name, '', ['expires' => 1, 'path' => $legacyDir]);
}
}
// When using cookies (default value), session_start() sends HTTP headers
session_start();
session_write_close();
@@ -205,6 +197,16 @@ class Minz_Session {
return $cookie_dir;
}
/** Delete legacy cookie (before 1.29.0) if it exists */
public static function deleteLegacyCookie(string $name): void {
if (isset($_COOKIE[$name])) {
$legacyDir = self::getLegacyCookieDir();
if ($legacyDir !== '' && $legacyDir !== '/') {
setcookie($name, '', ['expires' => 1, 'path' => $legacyDir]);
}
}
}
/**
* Regenerate a session id.
*/