Изменение пароля Frontend

Во-первых, я приношу свои извинения, если есть дубликат этого роуминга где-то … Я потратил большую часть прошлого часа на поиски решения, не повезло, но, может быть, я просто сосать выбор ключевых слов.

В настоящее время работает над средой профиля интерфейса для клиента, и одним из вариантов, который предоставляется, является возможность установки и изменения пароля.

Одна из вещей, на которые я не могу найти надежного ответа, заключается в том, нужно ли мне делать какие-либо меры безопасности для этого пароля ввода пользователя или если функция wp_update_user () встроена?

Первоначально я думал, что мне нужно использовать wp_hash_password для строки, которая передается пользователю user_pass wp_update_user … но это не работает, конечно, потому что он хранит хешированную версию в качестве пароля в user_pass, а затем все, что у пользователя было введено, становится бесполезным :П

Итак … какие-либо рекомендации по безопасности о том, как я могу «правильно» разрешить пользователям устанавливать и обновлять свои пароли из внешнего интерфейса, не используя ничего, связанное с панелью WordPress по умолчанию?

Заранее благодарим за любую помощь, которую может предоставить любой человек.

Быстрый просмотр кода для части пароля на панели управления:

Часть файла php, которая берет пароль пользователя и сохраняет его

Я беру пароль из формы через AJAX, хватаю его с помощью $ _POST, а затем пытаюсь поместить его в базу данных … просто убедившись, действительно ли это просто, или если есть меры безопасности, которые мне нужно рассмотреть ?

$user_data = array( 'ID'=>$user->ID, 'user_pass'=>$password ); wp_update_user($user_data); 

ввод формы на интерфейсе

 <input type='password' name='new_password' placeholder='What would you like your password to be?' id='[xxxx-hidden-for-project-anonymity]' style='text-align: center; text-indent: 0;'/> 

ОБНОВЛЕНИЕ – более конкретные детали, пошаговый запланированный ввод пароля

  1. Пользователю предлагается указать свой пароль после проверки адреса электронной почты.
  2. Они вставляют этот пароль в текстовый ввод.
  3. В форме submit (ввод пароля является единственным входом в этой конкретной форме), у меня есть AJAX, чтобы взять пароль от входа к функции php, которая подключена к WordPress.
  4. После этого ему необходимо обновить свой пароль в базе данных.

У меня есть код, который выполняет все вышеперечисленные шаги. Мой вопрос – безопасность. Какие меры безопасности мне нужно реализовать, пока пароль берется из формы для вызова AJAX, а затем измеряется в функции PHP, как это принято из функции в базу данных?

Я думаю, вы имеете в виду две разные вещи.

1) Проверка запроса. Вы должны использовать WP Nonces для проверки запроса и защиты его от XSS. Это должно быть практикой для всех ваших форм. вы также можете добавить дополнительный уровень безопасности, объединив reCAPTCHA .

2) Шифрование данных при попытке хешировать пароль. В этом случае единственным вариантом является использование SSL. С его помощью будет обеспечена вся передача данных между клиентом и сервером, кроме того, он выходит за рамки этого единственного процесса обновления пароля.