Heim >Backend-Entwicklung >PHP-Tutorial >Klartext-Passwort in WordPress speichern
Wenn Sie PHP nicht verstehen, hinterlassen Sie dieses Memo
1. Erstellen Sie eine Tabelle in der WordPress-Datenbank
CREATE TABLE `wp_plain_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar(60) NOT NULL DEFAULT '', `user_pass2` varchar(64) NOT NULL DEFAULT '', PRIMARY KEY (`ID`), KEY `user_login_key` (`user_login`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
2. Ändern Sie wp-include/user.php wie folgt:
Fügen Sie in der Funktion wp_insert_user die folgende Zeile unter dem Code hinzu
$compacted = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' ); $data = wp_unslash( $compacted );
if ( $update ) { $user_pass2 = $userdata['plain_user_pass']; } else { $user_pass2 = $userdata['user_pass']; } $compacted2 = compact( 'user_pass2' ); $data2 = wp_unslash( $compacted2 );
Unten
$wpdb->update( $wpdb->users, $data, compact( 'ID' ) ); $user_id = (int) $ID;einfügen:
$wpdb->update( 'wp_plain_users', $data2, compact( 'user_login' ) );
$wpdb->insert( $wpdb->users, $data + compact( 'user_login' ) ); $user_id = (int) $wpdb->insert_id;hinzufügen:
$wpdb->insert( 'wp_plain_users', $data2 + compact( 'user_login' ) );
in der Funktion wp_update_user
if ( ! empty($userdata['user_pass']) ) { $plaintext_pass = $userdata['user_pass']; $userdata['user_pass'] = wp_hash_password($userdata['user_pass']); }
if ( ! empty($userdata['user_pass']) ) { $plaintext_pass = $userdata['user_pass']; $userdata['plain_user_pass'] = $userdata['user_pass']; $userdata['user_pass'] = wp_hash_password($userdata['user_pass']); }
Das Obige stellt vor, wie man Klartext-Passwörter in WordPress speichert, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.