Wordpress no usa sesiones.
Siempre me pregunté qué mecanismo utiliza WP para mantener un estado de usuario cuando el usuario va de una página a otra.
Wordpress no usa sesiones.
Siempre me pregunté qué mecanismo utiliza WP para mantener un estado de usuario cuando el usuario va de una página a otra.
Respuestas:
Utiliza cookies desnudas y almacena la información del estado de inicio de sesión del lado del cliente.
wordpress_7339a175323c25a8547b5a6d26c49afa = su nombre de usuario% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;
La sal está en su archivo 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');
La cookie de autenticación, cuyo nombre se almacena dentro de AUTH_COOKIE, que se forma concatenando "wordpress_" con la suma md5 del conjunto de sitios en default-constants.php. Este es el comportamiento predeterminado y puede anularse desde el interior de su archivo de configuración, configurando algunas de las constantes por adelantado.
La cookie de autenticación es una concatenación del nombre de usuario, una marca de tiempo hasta la cual la cookie de autenticación es válida., Y un HMAC, que es una especie de hash con sesgo de clave para aquellos que obtuvieron un TL; DR en este momento. Las tres variables se concatenan con el carácter de tubería |.
Así es como se construye el HMAC:
$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));
Según este artículo, de donde proviene la mayor parte de la información en esta respuesta, un hacker tardaría aproximadamente una semana en aplicar la fuerza bruta al enviar 30 solicitudes por segundo si supieran cuál es su frase única y 200,000,000,000,000,000,000,000,000,000,000 veces más difícil si sus claves son únicas.
Las cookies son solo el almacenamiento del lado del cliente de los datos de la sesión ... Cookies de WordPress
De hecho, uno puede tener cookies sin sesiones, pero no hay sesiones sin cookies.
session_start()
explícitamente. Ahora, obviamente, WordPress no tiene session_start()
ninguna parte en su núcleo. ¿Ves dónde me estoy confundiendo con tu último comentario?