réaliser la mise en œuvre de la connexion sans utiliser de sessions

9

Wordpress n'utilise pas de sessions.

Je me suis toujours demandé quel mécanisme WP utilisait-il pour conserver un état utilisateur lorsqu'un utilisateur passe de page en page?

    
posée Average Joe 03.05.2012 - 10:41

2 réponses

12

Il utilise des cookies et stocke les informations d’état de connexion côté client.

+

=

  

wordpress_7339a175323c25a8547b5a6d26c49afa = votre nom d'utilisateur% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;

D'où viennent tous ces biscuits et ce sel?

Le sel est 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');

Les expressions uniques sont utilisées dans une fonction de hachage cryptographique .

Le cookie d'authentification, dont le nom est stocké à l'intérieur de AUTH_COOKIE, qui est formé en concaténant «wordpress_» avec la somme md5 du siteurl définie dans default-constants.php. Ceci est le comportement par défaut et peut être remplacé à partir de votre fichier de configuration, en configurant certaines constantes à l’avance.

Le cookie d’authentification est 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é par la clé pour ceux qui ont déjà tiré d’un TL; DR. Les trois variables sont concaténées avec le caractère de pipe |.

Voici comment est construit le HMAC:

$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));

Est-ce sécurisé?

Selon cet article Si la plupart des informations contenues dans cette réponse proviennent d'un pirate informatique, il vous faudrait environ une semaine pour envoyer 30 demandes par seconde si elles savaient ce que votre phrase était unique et 200 000 000 000 000 000 000 000 000 000 de fois plus difficile si vos clés sont uniques.

    
réponse donnée Chris_O 03.05.2012 - 11:49
0

Les cookies ne sont que le stockage des données de session côté client ... Cookies WordPress

En fait, on peut avoir des cookies sans sessions, mais pas de sessions sans cookies.

    
réponse donnée Martin Zeitler 09.05.2012 - 08:31

Lire d'autres questions sur les étiquettes