重设wordpress用户密码
2014-02-08 00:00
176 查看
<?php require('./wp-blog-header.php'); function meh() { global $wpdb; if (isset($_POST['update'])) { $user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) ); $user_pass = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] ); $answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>The user name field is empty.</strong></p></div>' : '' ); $answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>The password field is empty.</strong></p></div>' : '' ); if ( $user_login != $wpdb->get_var("SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1") ) { $answer .="<div id='message' class='updated fade'><p><strong>That is not the correct administrator username.</strong></p></div>"; } if( empty( $answer ) ) { $wpdb->query("UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'"); $plaintext_pass = $user_pass; $message = __('Someone, hopefully you, has reset the Administrator password for your WordPress blog. Details follow:'). "rn"; $message .= sprintf(__('Username: %s'), $user_login) . "rn"; $message .= sprintf(__('Password: %s'), $plaintext_pass) . "rn"; @wp_mail(get_option('admin_email'), sprintf(__('[%s] Your WordPress administrator password has been changed!'), get_option('blogname')), $message); $answer="<div id='message' class='updated fade'><p><strong>Your password has been successfully changed</strong></p><p><strong>An e-mail with this information has been dispatched to the WordPress blog administrator</strong></p><p><strong>You should now delete this file off your server. DO NOT LEAVE IT UP FOR SOMEONE ELSE TO FIND!</strong></p></div>"; } } return ( empty( $answer ) ? false : $answer ); } $answer = meh(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>WordPress Emergency PassWord Reset</title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-admin/wp-admin.css?version=<?php bloginfo('version'); ?>" type="text/css" /> </head> <body> <div class="wrap"> <form method="post" action=""> <h2>WordPress Emergency PassWord Reset</h2> <p><strong>Your use of this script is at your sole risk. All code is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness. Further, I shall not be liable for any damages you may sustain by using this script, whether direct, indirect, special, incidental or consequential.</strong></p> <p>This script is intended to be used as <strong>a last resort</strong> by WordPress administrators that are unable to access the database. Usage of this script requires that you know the Administrator's user name for the WordPress install. (For most installs, that is going to be "admin" without the quotes.)</p> <?php echo $answer; ?> <p class="submit"><input type="submit" name="update" value="Update Options" /></p> <fieldset class="options"> <legend>WordPress Administrator</legend> <label><?php _e('Enter Username:') ?><br /> <input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape(stripslashes($_POST['e-name'])); ?>" size="20" tabindex="10" /></label> </fieldset> <fieldset class="options"> <legend>Password</legend> <label><?php _e('Enter New Password:') ?><br /> <input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape(stripslashes($_POST['e-pass'])); ?>" size="25" tabindex="20" /></label> </fieldset> <p class="submit"><input type="submit" name="update" value="Update Options" /></p> </form> </div></body></html>
将这段代码保存为emergency.php文件上传到WordPress根目录下(wp-config.php文件所在目录)
在浏览器中打开http://xxx.com/emergency.php
根据页面上的指示输入管理员用户名(通常为admin)与新密码,然后点击更新选项。之后会有消息显示密码更新成功。
完成后从服务器中删除emergency.php文件,不要将该文件留在服务器中,以免其他人用它来修改你的密码。
相关文章推荐
- 解决wordpress用户注册时,点击邮件中的重置密码链接提示“您的密码重设链接无效”
- WordPress用户注册无法发送密码邮件怎么回事?
- WordPress新用户注册时/修改密码提示“您的密码重设链接无效”
- WordPress新用户注册时提示“您的密码重设链接无效”
- WordPress用户登录框密码的隐藏与部分显示技巧
- 使用WPScan扫描wordpress获取用户密码
- WordPress的用户密码计算算法
- wordpress运维教程:禁止非管理员用户更改密码
- 解决wordpress用户注册时,点击邮件中的重置密码链接提示“您的密码重设链接无效”
- wordpress开发教程:优化用户注册体验(自定义密码)
- WordPress发送注册用户设置密码邮件提示:您的密码重设链接无效,请在下方请求新链接
- WordPress用户注册成功后立即显示密码
- WordPress发送注册用户设置密码邮件提示:您的密码重设链接无效,请在下方请求新链接
- wordpress用户账户信息更新、重置密码或账户被删除时发送提示邮件
- 新浪SAE数据库信息wordpress设置(用户&密码&主地址)
- wordpress用户密码加密原理及其算法分析
- WordPress用户登录框密码的隐藏与部分显示技巧
- 修改oracle数据库用户名称和密码,数据库用户锁定、解锁(Linux为例)
- Linux下修改MySQL用户(root)密码