From 3192616e599ae210f6b403990e4166459dda1505 Mon Sep 17 00:00:00 2001 From: cclwnrty Date: Thu, 11 Jun 2026 08:41:55 +0000 Subject: [PATCH] coba reset --- reset_password.php | 127 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 reset_password.php diff --git a/reset_password.php b/reset_password.php new file mode 100644 index 0000000..852749f --- /dev/null +++ b/reset_password.php @@ -0,0 +1,127 @@ + PDO::ERRMODE_EXCEPTION] + ); +} catch (PDOException $e) { + die("Koneksi DB gagal: " . $e->getMessage() . + "
Edit variabel \$host, \$dbname, \$dbuser, \$dbpass di baris 15-18 file ini."); +} + +// ── Proses form ─────────────────────────────────────────────── +$message = ''; +$newPassword = 'Admin123'; // password default + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $username = trim($_POST['username'] ?? ''); + $newPassword = trim($_POST['new_password'] ?? ''); + + if ($username && $newPassword) { + // Cek user ada + $stmt = $pdo->prepare("SELECT id, username, password FROM users WHERE username = ?"); + $stmt->execute([$username]); + $user = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($user) { + // Verifikasi apakah password lama cocok (info saja) + $testPasswords = ['password', 'admin', 'superadmin', '123456', 'Admin123', 'Password123', $newPassword]; + $found = null; + foreach ($testPasswords as $p) { + if (password_verify($p, $user['password'])) { + $found = $p; + break; + } + } + + // Reset password + $hash = password_hash($newPassword, PASSWORD_BCRYPT, ['cost' => 12]); + $pdo->prepare("UPDATE users SET password = ? WHERE username = ?") + ->execute([$hash, $username]); + + $message = " +
+ ✅ Password berhasil direset!
+ Username: $username
+ Password baru: $newPassword
+ " . ($found ? "Password lama yang cocok: $found" : "Password lama tidak cocok dengan daftar test (mungkin custom)") . " +
+ "; + } else { + $message = "
❌ Username '$username' tidak ditemukan.
"; + } + } +} + +// ── Tampilkan semua user ─────────────────────────────────────── +$users = $pdo->query("SELECT id, username, email, is_active, LEFT(password,30) as pass_preview FROM users ORDER BY id")->fetchAll(PDO::FETCH_ASSOC); +?> + + + + SINERGI - Reset Password + + + +

🔑 SINERGI — Reset Password

+
⚠️ HAPUS file ini setelah selesai! Jangan biarkan file ini ada di server production.
+ + + +

Daftar Users

+ + + + + + + + + + + +
IDUsernameEmailAktifPassword Hash (30 char)
...
+ +

Reset Password

+
+ + + + +

+ +
+ +