Я хочу добавить нового пользователя из другого скрипта, и мне нужно создать пароль для пользователей Drupal7, я не могу найти точную функцию, которая делает это в Drupal, что это за функция?
Как зашифровать пароль для друпал 7
Ответы (1)
В Drupal 7 пароли больше не шифруются через md5.
Есть несколько способов получить/установить пароль в drupal7.
Использование drush (к вашему сведению, в вашем случае не используется):
drush upwd admin --password="newpassword"
Без drush, если у вас есть cli-доступ к серверу: (к вашему сведению, в вашем случае не используется)
cd <drupal root directory>
php scripts/password-hash.sh 'myPassword'
Теперь скопируйте полученный хэш и вставьте его в запрос:
update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;
Если вы работаете в удаленной среде, к которой не можете подключиться, вы можете поместить указанный код в файл, такой как password.php, например этот:
<?php
if (isset($_GET['p'])) {
require_once dirname(__FILE__) . '/includes/bootstrap.inc';
require_once dirname(__FILE__) . '/includes/password.inc';
print _password_crypt('sha512', $_GET['p'], _password_generate_salt(DRUPAL_HASH_COUNT));
exit();
}
print "No password to hash.";
Затем перейдите на свой сайт, используя: http://domain.tld/password.php?p= «Мой пароль». Хэш появится на вкладке вашего браузера.
Не забудьте удалить его после того, как вы это сделаете.
Итак, если вы хотите использовать какую-либо функцию генерации пароля, загляните на < strong>_password_crypt() и _password_generate_salt()