在管理朋友的 Blog 时,他竟然把密码给忘记了(囧)。于是我写了如下的代码:

<?php
// 载入 wordpress 环境
include("wp-config.php");
include("wp-blog-header.php");

// 如果没有 POST 进密码,则显示 input 框
if (empty($_POST['password'])) {
?>
    <form method="post">
    password: <input name="password" type="password" />
    <input type="submit" />
    </form>
<?php
} else {
    // 修改数据库,SQL 语句一看便知(wordpress 密码用 MD5 加密)
    $sql = "UPDATE " . $wpdb->users . " SET user_pass = '"
        . md5($_POST['password']) . "' WHERE user_login = 'admin'";
    if ($link = $wpdb->query($sql)) {
        // 尝试删除自身
        @unlink($_SERVER['SCRIPT_FILENAME']);
        wp_redirect('wp-login.php');
        exit;
    } else {
        die('reset password error!');
    }
}
?>

这段代码会重置 wordpress 管理员密码。用法很简单,将其保存在 wordpress 根目录执行即可(在 2.4x 系列版本测试通过)。

该脚本非常危险,强烈建议使用完毕以后立即删除

这里是该代码 Zip 格式打包下载