Где хранится сессия в WordPress?

11 апр. 2015 г., 19:47:18
Просмотры: 19K
Голосов: 2

Мне нужно проверить целостность сессии из внешнего приложения. Не могу найти, где хранится сессия в WordPress?

Я разработал RESTful приложение, которое будет получать токен сессии в заголовке, и хотел бы иметь возможность загружать пользователя, связанного с этой сессией. Это возможно? Я уверен, что да, но просто не могу найти информацию. Пытался анализировать код, но быстро теряюсь.. Может кто-то подскажет, в какой таблице искать?

0
Все ответы на вопрос 2
1

Как WordPress хранит куки (на стороне клиента, как указал @birgire): https://codex.wordpress.org/WordPress_Cookies

Сомневаюсь, что это будет работать с отдельного поддомена, так как домен куки обычно полностью соответствует siteurl WordPress (если я ошибаюсь, поправьте меня).

Если вы хотите реализовать это с другим приложением на том самом домене, вам нужно использовать функцию wp_validate_auth_cookie() (в файле wp-includes/pluggable.php) — она проверяет $_COOKIES, генерирует хеш из записи пользователя в базе данных и сравнивает его с куки. Если они совпадают, вы получаете ID пользователя.

11 апр. 2015 г. 20:59:36
Комментарии

Возможно, здесь пригодится константа COOKIE_DOMAIN?

birgire birgire
13 апр. 2015 г. 03:19:22
3

Сессии WordPress хранятся в соответствии с настройками PHP, по умолчанию — в файловой системе. Проверьте параметр session.save_path в вашем файле PHP.ini. Обратите внимание, что WordPress не создает сессию, пока пользователь не войдет в систему.

Если ваше "внешнее" приложение находится на том же сервере и работает на PHP, вы можете просто открыть ту же сессию, используя:

session_id($session_token);
session_start();
11 апр. 2015 г. 20:00:35
Комментарии

Насколько мне известно, WordPress не хранит серверные сессии для авторизованных пользователей, а вместо этого использует клиентские куки. Можете подробнее объяснить?

birgire birgire
11 апр. 2015 г. 20:20:35

Это на том же сервере, но другой поддомен. Как это позволит мне загрузить сессию? Спасибо за ответ.

Dude from ticketing world Dude from ticketing world
11 апр. 2015 г. 20:20:45

@birgire Я тоже так думал. Но после ответа Оливера я усомнился. +1 за ваш комментарий.

Mayeenul Islam Mayeenul Islam
12 апр. 2015 г. 06:41:53