Боюсь, я не могу решить эту проблему самостоятельно. Странно, что эта проблема кажется уникальной для моей установки.WordPress - автоматический выход из системы при использовании разных браузеров/IP
На моем веб-сайте, основанном на WordPress, возникают проблемы с входом в систему, особенно при использовании своих мобильных телефонов для аутентификации: они выходят из системы (даже при проверке «Запомнить меня») и вам придется повторно ввести свои учетные данные (после чего они снова выходят из системы). Из того, что я понял, скорее всего, тот факт, что их соответствующие поставщики мобильного интернет-сервиса динамически назначают новые IP-адреса своим устройствам все время, что приводит к сбою аутентификации.
Когда я использую свой рабочий стол для входа в систему, все будет работать нормально. Однако, скажем, я успешно вошел на сайт с Google Chrome, и я открываю экземпляр Mozilla Firefox (или любого другого браузера) для входа в систему одновременно, пользовательский «сеанс» пользователя Chrome будет немедленно отключен (я знаю это потому, что асинхронный скрипт запрашивает, вошел ли пользователь в систему, и он предлагает мне войти в систему после входа в систему, используя другой браузер). Поэтому я считаю, что вся аутентификация WordPress также имеет какое-то отношение к пользовательскому агенту.
Несмотря на то, что я высоко ценю дополнительный объем обеспечения, обеспечиваемый автоматически отменой выполняемого сеанса при доступе к сайту с другого IP-адреса или браузера, мои пользователи этого не делают. Даже для меня это невероятно громоздко, используя три разные машины, а также планшет и телефон для доступа к сайту из любого возможного места (в конце концов я перестал беспокоиться о регистрации и просто ждал, чтобы вернуться домой).
Поскольку аутентификация WordPress использует куки-файлы, я изучил, как они сгенерированы. Метод wp_generate_auth_cookie()
использует имя пользователя, его хэш-пароль, время истечения и соль (постоянная соль, определенная в wp-config.php
), но также не использует IP-адрес или пользовательский агент. Я буквально искал всю папку WordPress для появления «пользовательского агента» или «IP-адреса», но нет сценария, связанного с входом в систему, содержащего термины (всего лишь несколько плагинов, которые вообще не влияют на сеанс пользователя).
Это меня озадачивает. Как WordPress даже понимает, что я вошел в систему с другим браузером/компьютером, если он не хранит эти данные в cookie аутентификации? И где происходит проверка, которая регистрирует меня и моих пользователей?
Есть ли у вас какие-либо дальнейшие идеи по устранению проблемы?
спасибо, что заблаговременно !!
Harti
Интересно, почему WordPress знает, что он отправил новый файл cookie в другой браузер - возможно, из-за нового срока действия. Однако при аутентификации файла cookie я не могу найти никакого сравнения с базой данных или чем-то - где могут храниться эти данные? – Harti