Какие требования к паролям в WordPress по умолчанию?

8 февр. 2020 г., 20:58:14
Просмотры: 13.6K
Голосов: 5

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

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

Минимальные требования заключаются в том, чтобы пароль прошел проверку на надежность библиотеки zxcvbn. Я не вижу простого свода их правил. Эта библиотека регистрируется как скрипт 'zxcvbn-async', который можно подключить (enqueue) или указать как зависимость для ваших собственных скриптов, а затем выполнить проверку на стороне клиента. Смотрите password-strength-meter и различные случаи в user-profile.js, когда zxcvbn еще не загружен.

В настоящее время WordPress рекомендует использовать случайно сгенерированные пароли:

  • новые пользователи при регистрации всегда получают случайно сгенерированный пароль
  • чтобы изменить пароль в админке, нужно нажать 'generate password' для получения нового случайного пароля; система дает возможность переопределить его, но кнопка 'Update profile' на странице будет отключена, пока ваш пароль не пройдет проверку zxcvbn.

Однако это применяется только на стороне клиента; насколько я вижу, никаких проверок на стороне сервера не выполняется. В файле user.php есть действие check_passwords, но оно не получает объект $errors для самостоятельного добавления ошибок слабого пароля; вам придется запомнить ошибку и добавить ее позже в user_profile_update_errors. Но в стандартной установке WordPress ничего подобного нет.

10 февр. 2020 г. 14:15:41
Комментарии

Дополняя вышесказанное, библиотека zxcvbn использует модель оценки сложности пароля. Она проверяет наличие распространённых паролей, имён, популярных английских слов и типичных шаблонов, таких как даты, повторения (aaa), последовательности (abcd) и клавиатурные комбинации (qwerty). zxcvbn допускает различные стили паролей при условии достаточной сложности согласно её алгоритму. Однако сам WordPress не предъявляет специальных требований к паролям (см. другой ответ). Он просто использует библиотеку zxcvbn для определения сложности. При создании/обновлении пользователя через сам WordPress (без плагинов) нет обязательных требований к сложности пароля (хотя плагины могут это изменить).

butlerblog butlerblog
27 янв. 2022 г. 16:44:49
4

Удивительно, но для разработки плагинов правильный ответ — никакой.

Из документации по установке пароля:

wp_set_password( string $password, int $user_id )

Обновляет пароль пользователя новым зашифрованным паролем.

Если вы задумываетесь о безопасности, попробуйте использовать функцию wp_generate_password.

РЕДАКТИРОВАНИЕ Я нашел статью как добавить индикатор сложности пароля в WordPress, которая, скорее всего, описывает то, чего вы хотите достичь. Взгляните на нее.

8 февр. 2020 г. 21:40:09
Комментарии

Вы имеете в виду, что нет требований к паролю по умолчанию или просто нет функции для их получения?

Kirkland Kirkland
8 февр. 2020 г. 22:23:35

Я говорю, что нет требований к паролю по умолчанию для разработки плагинов (то есть для операций с учетными записями пользователей, выполняемых плагином)

Pavel Janicek Pavel Janicek
8 февр. 2020 г. 22:27:14

Мой плагин предоставляет экран, позволяющий пользователю изменить свой пароль для входа в WP. Пароль, который позволяет им войти в WP. Когда они отправляют новый пароль, я хочу убедиться, что он соответствует минимальным требованиям WP к паролю. Речь не об операциях, выполняемых плагином. Я просто хочу узнать, каковы минимальные требования к паролю для входа в WP, и могу ли я получить эти требования программно.

Kirkland Kirkland
10 февр. 2020 г. 04:17:23

@Kirkland смотрите правки. Кажется, я нашел для вас решение

Pavel Janicek Pavel Janicek
10 февр. 2020 г. 09:37:17