Как зашифровать пароль для друпал 7

Я хочу добавить нового пользователя из другого скрипта, и мне нужно создать пароль для пользователей Drupal7, я не могу найти точную функцию, которая делает это в Drupal, что это за функция?


person Tom    schedule 05.06.2011    source источник


Ответы (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()

person Haza    schedule 05.06.2011