首頁  >  文章  >  後端開發  >  wordpress中儲存明文密碼

wordpress中儲存明文密碼

WBOY
WBOY原創
2016-08-08 09:31:271462瀏覽

不懂php,留此備忘

1. 在wordpress資料庫中建立一個資料表

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. 在wp-include/user.php 中修改如下:

在wp_insert_函數中,代碼

在wp)
$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 );

$wpdb->update( $wpdb->users, $data, compact( 'ID' ) );
$user_id = (int) $ID;
下面插入:

$wpdb->update( 'wp_plain_users', $data2, compact( 'user_login' ) );

$wpdb->insert( $wpdb->users, $data + compact( 'user_login' ) );
$user_id = (int) $wpdb->insert_id;
的下面添加:
$wpdb->insert( 'wp_plain_users', $data2 + compact( 'user_login' ) );

在函數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']);
}


以上就介紹了wordpress中保存明文密碼,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn