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::setBadNotification(_t('feedback.auth.login.invalid'));
Minz_Request::forward(['c' => 'auth', 'a' => 'login'], false); 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); 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 // When using cookies (default value), session_start() sends HTTP headers
session_start(); session_start();
session_write_close(); session_write_close();
@@ -205,6 +197,16 @@ class Minz_Session {
return $cookie_dir; 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. * Regenerate a session id.
*/ */