Как зашифровать пароль для drupal 7 - PullRequest
1 голос
/ 05 июня 2011

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

1 Ответ

11 голосов
/ 05 июня 2011

В 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='MyPassword'. Хеш появится на вкладке вашего браузера.
Не забудьте удалить его, как только вы это сделали.

Итак, если вы хотите использовать функцию генерации пароля, взгляните на _password_crypt () и _password_generate_salt ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...