ホームページ > バックエンド開発 > PHPチュートリアル > ワードプレスにクリアテキストのパスワードを保存する

ワードプレスにクリアテキストのパスワードを保存する

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-08-08 09:31:27
オリジナル
1537 人が閲覧しました

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_user関数で、コード

$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 チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート