Импорт существующих пользователей с паролями

У меня есть существующий унаследованный PHP-сайт из 15000 пользователей с хэшированными паролями base64, я хотел бы импортировать всех этих пользователей на новый сайт WordPress с их паролями. Какой был бы лучший подход к реализации этого?

Praveen

Solutions Collecting From Web of "Импорт существующих пользователей с паролями"

Вы можете использовать wp_insert_user . Поскольку у вашей старой базы данных есть пароли в base64, вы можете легко получить исходную строку пароля, используя base64_decode .

 $new_user_data = array( 'user_pass' => 'password',//pass your decoded password string 'user_login' => 'username',//pass your username 'user_email' => 'email', 'first_name' => 'firstname', 'last_name' => 'lastname', 'role' => 'author'//if you want to specify a different role other than default one ); wp_insert_user( $new_user_data ); 

Вам нужно отформатировать старые данные в csv или xml или текстовом файле, а затем прочитать и передать их соответствующим образом. И не пытайтесь импортировать все 15000 пользователей одновременно. Сделайте это в нескольких частях. Также функция sleep() будет спокойной, чтобы дать серверу отдохнуть.

WordPress использует MD5 для шифрования паролей. Поэтому я не думаю, что прямой импорт пользователей будет работать здесь. Вы можете написать скрипт для импорта пользователей с новыми автоматически сгенерированными паролями и пожарными сообщениями для всех.

ИЛИ

Используйте 'authenticate', 'wp_authenticate_user' для проверки пользователей с существующей таблицей пользователей. http://codex.wordpress.org/Plugin_API/Filter_Reference/authenticate

Этот плагин может помочь: http://wordpress.org/plugins/external-database-authentication/

WP использует md5 для шифрования, и у вас есть base64, поэтому я не думаю, что вы можете напрямую импортировать один и тот же пароль. Но, как мы все знаем, base64 может быть декодирован http://www.php.net/base64_decode, поэтому ясно, что мы можем также импортировать старый пароль. Но есть несколько плагинов WP, которые будут импортировать пользователей из CSV-файла в базу данных WP и с новым паролем. И система также отправит новое письмо с уведомлением об этом. http://wordpress.org/plugins/members-import/ этот плагин поможет вам сделать то же самое. В этом плагине, где используются данные поля пароля из файла CSV, передайте эту строку функции base64_decode() .

Если вы импортируете один и тот же пароль, вам не нужно отправлять почту уведомления.