Wordpress n'utilise pas de sessions.
Je me suis toujours demandé quel mécanisme WP utilise-t-il pour maintenir un état d'utilisateur lorsque l'utilisateur passe d'une page à l'autre?
Il utilise des cookies nus et stocke le côté client des informations d'état de connexion.
wordpress_7339a175323c25a8547b5a6d26c49afa = votre nom d'utilisateur% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;
Le sel se trouve dans votre fichier wp-config.php:
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
Le cookie d'authentification, dont le nom est stocké dans AUTH_COOKIE, qui est formé en concaténant "wordpress_" avec la somme md5 de l'ensemble siteurl dans default-constants.php. Il s'agit du comportement par défaut et peut être remplacé à l'intérieur de votre fichier de configuration, en configurant certaines des constantes à l'avance.
Le cookie d'authentification une concaténation du nom d'utilisateur, un horodatage jusqu'à ce que le cookie d'authentification soit valide et un HMAC, qui est en quelque sorte un hachage biaisé pour ceux qui ont retiré un TL; DR en ce moment. Les trois variables sont concaténées avec le caractère pipe |.
Voici comment le HMAC est construit:
$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));
Selon cet article d' où proviennent la plupart des informations contenues dans cette réponse, il faudrait environ une semaine à un pirate informatique pour envoyer 30 requêtes par seconde s'il savait quelle était votre phrase unique et 200 000 000 000 000 000 000 000 000 000 000 000 fois plus si vos clés sont uniques.
Les cookies ne sont que le stockage côté client des données de session ... Cookies WordPress
En fait, on peut avoir des cookies sans sessions, mais pas de sessions sans cookies.
la source
session_start()
explicitement. Maintenant, évidemment, wordpress n'asession_start()
nulle part dans son noyau. Vous voyez où je suis confus par votre dernier commentaire?