Wordpress не использует сессии.
Мне всегда было интересно, какой механизм WP использует для поддержания состояния пользователя, когда пользователь переходит со страницы на страницу?
Wordpress не использует сессии.
Мне всегда было интересно, какой механизм WP использует для поддержания состояния пользователя, когда пользователь переходит со страницы на страницу?
Ответы:
Он использует пустые файлы cookie и сохраняет информацию о состоянии входа в систему на стороне клиента.
wordpress_7339a175323c25a8547b5a6d26c49afa = имя_пользователь% 7C1457109155% 7C170f103ef3dc57cdb1835662d97c1e13;
Соль находится в вашем файле 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');
Файл cookie аутентификации, имя которого хранится внутри AUTH_COOKIE, который формируется путем объединения «wordpress_» с суммой md5 siteurl, установленной в default-constants.php. Это поведение по умолчанию, которое может быть переопределено внутри вашего файла конфигурации, предварительно настроив некоторые из констант.
Файл cookie аутентификации - это объединение имени пользователя, временной метки, до которой файл cookie аутентификации является действительным, и HMAC, который является своего рода хэшем с привязкой к ключу для тех, кто сейчас использует TL; DR. Три переменные объединяются с символом канала |.
Вот как построен HMAC:
$hash = hash_hmac('md5', $username . '|' . $expiration, wp_hash($username . substr($user->user_pass, 8, 4) . '|' . $expiration, $scheme));
Согласно этой статье, откуда взялась большая часть информации в этом ответе, хакеру понадобится около недели, чтобы грубо заставить отправлять 30 запросов в секунду, если они знают, какая у вас уникальная фраза, и в 200 000 000 000 000 000 000 000 000 000 000 раз сложнее, если ваши ключи уникальны.
Файлы cookie - это просто хранилище данных сеанса на стороне клиента ... Файлы cookie WordPress
На самом деле, файлы cookie могут быть без сеансов, а сеансы без файлов cookie.
session_start()
явно. Теперь, очевидно, WordPress не имеет session_start()
нигде в своем ядре. Видите, где я запутался в вашем последнем комментарии?