Session cookie nemá Secure flag

Čo to je

Vaše stránky nastavujú cookie (typicky PHPSESSID, laravel_session, _ga, atď.) bez Secure flagu. Prehliadač ju bude posielať aj cez nešifrované HTTP, kedykoľvek na to má príležitosť.

Prečo je to problém

Útočník, ktorý má prístup k sieti medzi vami a používateľom (Wi-Fi v kaviarni, kompromitovaný router, ISP v krajine s aktívnym sledovaním), môže:

Aj keď máte HTTPS všade, bez Secure stačí, aby mal používateľ v inom tabe otvorený ľubovoľný HTTP web na rovnakej doméne, a cookie unikne.

Ako to opraviť

Cieľom je nastaviť všetky tri bezpečnostné flagy: Secure, HttpOnly a SameSite.

Session cookies (najdôležitejšie)

PHP:

# php.ini (nebo .htaccess s php_value)
session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite = "Lax"

Node.js (express-session):

app.use(session({
    secret: process.env.SESSION_SECRET,
    cookie: {
        secure: true,
        httpOnly: true,
        sameSite: 'lax',
        maxAge: 1000 * 60 * 60 * 24,
    }
}));

Laravel (config/session.php):

'secure' => true,
'http_only' => true,
'same_site' => 'lax',

WordPress: WordPress rieši session cez cookies, ale auto-pridanieSecure nemá. Použite plugin Cookies Flags alebo pridajte ručne:

// wp-config.php
define('COOKIE_DOMAIN', '.example.cz');
@ini_set('session.cookie_secure', 1);

// functions.php
add_action('init', function () {
    if (!is_ssl()) return;
    foreach ($_COOKIE as $name => $val) {
        setcookie($name, $val, [
            'expires'  => 0,
            'path'     => '/',
            'secure'   => true,
            'httponly' => true,
            'samesite' => 'Lax',
        ]);
    }
});

Cookies tretích strán (analytika, retargeting)

Cookies, ktoré nastavujú tretie strany (Google Analytics, _fbp, atď.), neovládate. Uistite sa aspoň, že ich nastavujete na https:// stránke — tretia strana potom štandardne pridá Secure flag.

Overenie

DevTools → Application → Cookies. Pozrite sa na stĺpec Secure — má byť true pri všetkých cookies, ktoré nesú nejakú autentizáciu.

Referencie