From 401ac60960f569792f2910424ce6f5392eb71a13 Mon Sep 17 00:00:00 2001 From: alifaisyahh Date: Thu, 11 Jun 2026 10:34:52 +0700 Subject: [PATCH] security: hapus migrate.php, tambah update_passwords.php untuk reset password --- Web GIS Layer/migrate.php | 162 ------------- Web GIS Rumah Ibadah/migrate.php | 273 ---------------------- Web GIS Rumah Ibadah/update_passwords.php | 117 ++++++++++ 3 files changed, 117 insertions(+), 435 deletions(-) delete mode 100644 Web GIS Layer/migrate.php delete mode 100644 Web GIS Rumah Ibadah/migrate.php create mode 100644 Web GIS Rumah Ibadah/update_passwords.php diff --git a/Web GIS Layer/migrate.php b/Web GIS Layer/migrate.php deleted file mode 100644 index 8fb4856..0000000 --- a/Web GIS Layer/migrate.php +++ /dev/null @@ -1,162 +0,0 @@ -query($sql)) { - return ['label' => $label, 'status' => 'OK', 'msg' => '']; - } else { - return ['label' => $label, 'status' => 'ERROR', 'msg' => $conn->error]; - } -} - -// ── 1. Tabel data_jalan ─────────────────────────────────────── -$results[] = runSQL($conn, 'CREATE TABLE data_jalan', " - CREATE TABLE IF NOT EXISTS data_jalan ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama_jalan VARCHAR(150) NOT NULL, - status_jalan ENUM('Jalan Nasional','Jalan Provinsi','Jalan Kabupaten') NOT NULL, - panjang_m DECIMAL(12,2) DEFAULT 0.00, - geojson LONGTEXT NOT NULL, - keterangan TEXT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── 2. Tabel data_parsil ────────────────────────────────────── -$results[] = runSQL($conn, 'CREATE TABLE data_parsil', " - CREATE TABLE IF NOT EXISTS data_parsil ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama_parsil VARCHAR(150) NOT NULL, - status_hak ENUM('Sertifikat Hak Milik','Sertifikat Hak Guna Bangunan','Sertifikat Hak Guna Usaha','Sertifikat Hak Pakai') NOT NULL, - luas_m2 DECIMAL(15,2) DEFAULT 0.00, - geojson LONGTEXT NOT NULL, - pemilik VARCHAR(150) DEFAULT NULL, - keterangan TEXT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── 3. Tabel data_spbu ──────────────────────────────────────── -$results[] = runSQL($conn, 'CREATE TABLE data_spbu', " - CREATE TABLE IF NOT EXISTS data_spbu ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama_spbu VARCHAR(150) NOT NULL, - telepon VARCHAR(20) DEFAULT NULL, - buka_24jam TINYINT(1) NOT NULL DEFAULT 0, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - geojson LONGTEXT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── 4. Data contoh: Jalan ───────────────────────────────────── -$results[] = runSQL($conn, 'INSERT data_jalan (sample)', " - INSERT IGNORE INTO data_jalan (id, nama_jalan, status_jalan, panjang_m, geojson, keterangan) VALUES - (1, 'Jl. Ahmad Yani', 'Jalan Nasional', 2100.00, - '{\"type\":\"LineString\",\"coordinates\":[[109.3300,-0.0200],[109.3350,-0.0210],[109.3400,-0.0220]]}', - 'Jalan utama Kota Pontianak'), - (2, 'Jl. Gajah Mada', 'Jalan Provinsi', 1450.50, - '{\"type\":\"LineString\",\"coordinates\":[[109.3200,-0.0350],[109.3250,-0.0360],[109.3300,-0.0370]]}', - 'Penghubung pusat kota'), - (3, 'Jl. Tanjungpura', 'Jalan Kabupaten', 870.25, - '{\"type\":\"LineString\",\"coordinates\":[[109.3450,-0.0100],[109.3470,-0.0110],[109.3490,-0.0120]]}', - 'Jalan lingkungan') -"); - -// ── 5. Data contoh: Parsil ──────────────────────────────────── -$results[] = runSQL($conn, 'INSERT data_parsil (sample)', " - INSERT IGNORE INTO data_parsil (id, nama_parsil, status_hak, luas_m2, geojson, pemilik, keterangan) VALUES - (1, 'Parsil A-001', 'Sertifikat Hak Milik', 1200.00, - '{\"type\":\"Polygon\",\"coordinates\":[[[109.3200,-0.0200],[109.3210,-0.0200],[109.3210,-0.0210],[109.3200,-0.0210],[109.3200,-0.0200]]]}', - 'Budi Santoso', 'Tanah kavling perumahan'), - (2, 'Parsil B-002', 'Sertifikat Hak Guna Bangunan', 850.50, - '{\"type\":\"Polygon\",\"coordinates\":[[[109.3220,-0.0220],[109.3230,-0.0220],[109.3230,-0.0230],[109.3220,-0.0230],[109.3220,-0.0220]]]}', - 'PT. Maju Bersama', 'Kavling komersial') -"); - -// ── 6. Data contoh: SPBU ───────────────────────────────────── -$results[] = runSQL($conn, 'INSERT data_spbu (sample)', " - INSERT IGNORE INTO data_spbu (id, nama_spbu, telepon, buka_24jam, lat, lng, geojson) VALUES - (1, 'SPBU Jl. Ahmad Yani', '0561-123456', 1, -0.0200, 109.3300, - '{\"type\":\"Point\",\"coordinates\":[109.3300,-0.0200]}'), - (2, 'SPBU Jl. Gajah Mada', '0561-654321', 0, -0.0350, 109.3200, - '{\"type\":\"Point\",\"coordinates\":[109.3200,-0.0350]}'), - (3, 'SPBU Jl. Tanjungpura', '0561-789012', 1, -0.0100, 109.3450, - '{\"type\":\"Point\",\"coordinates\":[109.3450,-0.0100]}') -"); - -$conn->close(); - -// ── Tampilkan hasil ─────────────────────────────────────────── -$allOk = !in_array('ERROR', array_column($results, 'status')); -?> - - - - -Migration — Web GIS Layer - - - -

🚀 Migration — Web GIS Layer

-

Membuat tabel dan data contoh di database default

- - -
- -
- -
-
-
- - -
- -

✅ Migrasi Berhasil!

-

Semua tabel berhasil dibuat. Aplikasi WebGIS siap digunakan.

- Buka Aplikasi → - -

❌ Ada Error

-

Beberapa langkah gagal. Periksa pesan error di atas.

- -
- - -
- ⚠️ PENTING: Hapus file migrate.php setelah migrasi berhasil untuk keamanan! -
- - - - diff --git a/Web GIS Rumah Ibadah/migrate.php b/Web GIS Rumah Ibadah/migrate.php deleted file mode 100644 index 7439270..0000000 --- a/Web GIS Rumah Ibadah/migrate.php +++ /dev/null @@ -1,273 +0,0 @@ -connect_error) { - die('

Koneksi gagal: ' . $conn->connect_error . '

'); -} -$conn->set_charset('utf8mb4'); - -header('Content-Type: text/html; charset=utf-8'); - -$results = []; - -function run(mysqli $c, string $label, string $sql): array { - // Hapus komentar SQL (-- ...) agar tidak error - $sql = preg_replace('/--[^\n]*/', '', $sql); - if ($c->query($sql) === true) { - return ['label' => $label, 'status' => 'OK', 'msg' => '']; - } - return ['label' => $label, 'status' => 'ERROR', 'msg' => $c->error]; -} - -// ── DROP (urutan sesuai FK) ─────────────────────────────────── -$results[] = run($conn, 'DROP TABLE histori_bantuan', "DROP TABLE IF EXISTS histori_bantuan"); -$results[] = run($conn, 'DROP TABLE laporan_masyarakat', "DROP TABLE IF EXISTS laporan_masyarakat"); -$results[] = run($conn, 'DROP TABLE keluarga_miskin', "DROP TABLE IF EXISTS keluarga_miskin"); -$results[] = run($conn, 'DROP TABLE users', "DROP TABLE IF EXISTS users"); -$results[] = run($conn, 'DROP TABLE rumah_ibadah', "DROP TABLE IF EXISTS rumah_ibadah"); -$results[] = run($conn, 'DROP TABLE rate_limit', "DROP TABLE IF EXISTS rate_limit"); - -// ── CREATE TABLE: rumah_ibadah ──────────────────────────────── -$results[] = run($conn, 'CREATE TABLE rumah_ibadah', " - CREATE TABLE rumah_ibadah ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(200) NOT NULL, - jenis ENUM('Masjid','Gereja','Pura','Vihara','Klenteng','Lainnya') NOT NULL, - alamat TEXT NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - radius_km FLOAT NOT NULL DEFAULT 2.0, - kode_pengurus VARCHAR(20) NULL UNIQUE, - password_pengurus VARCHAR(255) NULL, - kecamatan ENUM('Pontianak Utara','Pontianak Selatan','Pontianak Timur','Pontianak Barat','Pontianak Tenggara','Pontianak Kota') NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── CREATE TABLE: users ─────────────────────────────────────── -$results[] = run($conn, 'CREATE TABLE users', " - CREATE TABLE users ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama VARCHAR(150) NOT NULL, - username VARCHAR(100) NOT NULL UNIQUE, - password VARCHAR(255) NOT NULL, - role ENUM('admin','pengurus','walikota') NOT NULL DEFAULT 'pengurus', - rumah_ibadah_id INT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── CREATE TABLE: keluarga_miskin ───────────────────────────── -$results[] = run($conn, 'CREATE TABLE keluarga_miskin', " - CREATE TABLE keluarga_miskin ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nik VARCHAR(20) NOT NULL UNIQUE, - nama_kepala_keluarga VARCHAR(200) NOT NULL, - tanggal_lahir DATE NULL, - pendidikan ENUM('Tidak Sekolah','SD','SMP','SMA','D3','S1','S2/S3') NOT NULL DEFAULT 'Tidak Sekolah', - jumlah_anggota INT NOT NULL DEFAULT 1, - alamat TEXT NOT NULL, - kecamatan ENUM('Pontianak Utara','Pontianak Selatan','Pontianak Timur','Pontianak Barat','Pontianak Tenggara','Pontianak Kota') NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - tingkat_kemiskinan ENUM('Sangat Miskin','Miskin','Hampir Miskin') NOT NULL DEFAULT 'Miskin', - status_dtks ENUM('Terdaftar DTKS','Belum DTKS','Sedang Diusulkan') NOT NULL DEFAULT 'Belum DTKS', - riwayat_penyakit JSON NULL, - rumah_ibadah_id INT DEFAULT NULL, - jarak_ke_ibadah FLOAT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── CREATE TABLE: laporan_masyarakat ────────────────────────── -$results[] = run($conn, 'CREATE TABLE laporan_masyarakat', " - CREATE TABLE laporan_masyarakat ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - nama_terlapor VARCHAR(150) NULL, - nik_terlapor VARCHAR(16) NULL, - nama_pelapor VARCHAR(150) NULL, - no_hp VARCHAR(20) NULL, - alamat_terlapor TEXT NOT NULL, - lat DECIMAL(10,7) NOT NULL, - lng DECIMAL(10,7) NOT NULL, - deskripsi TEXT NOT NULL, - foto VARCHAR(255) NULL, - status ENUM('Baru','Diverifikasi','Ditolak') NOT NULL DEFAULT 'Baru', - alasan_tolak TEXT NULL, - ditangani_oleh INT NULL, - converted_to_kk_id INT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (ditangani_oleh) REFERENCES users(id) ON DELETE SET NULL, - FOREIGN KEY (converted_to_kk_id) REFERENCES keluarga_miskin(id) ON DELETE SET NULL - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── CREATE TABLE: histori_bantuan ───────────────────────────── -$results[] = run($conn, 'CREATE TABLE histori_bantuan', " - CREATE TABLE histori_bantuan ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - kk_id INT NOT NULL, - jenis_bantuan ENUM('PKH','BPNT/Sembako','Beras Bansos','KIS-PBI','Bansos Tunai Pemkot','Rutilahu','PMT Stunting','CSR Swasta','Lainnya') NOT NULL, - nominal BIGINT NOT NULL DEFAULT 0, - keterangan TEXT NULL, - tanggal_penyaluran DATE NOT NULL, - sumber_dana ENUM('APBN','APBD','CSR','Lainnya') NOT NULL DEFAULT 'APBD', - penanggung_jawab INT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (kk_id) REFERENCES keluarga_miskin(id) ON DELETE CASCADE, - FOREIGN KEY (penanggung_jawab) REFERENCES users(id) ON DELETE CASCADE - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── CREATE TABLE: rate_limit ────────────────────────────────── -$results[] = run($conn, 'CREATE TABLE rate_limit', " - CREATE TABLE rate_limit ( - id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - ip_address VARCHAR(45) NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - INDEX idx_ip_time (ip_address, created_at) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci -"); - -// ── SEED: rumah_ibadah ──────────────────────────────────────── -$results[] = run($conn, 'SEED rumah_ibadah (2 data)', " - INSERT INTO rumah_ibadah (nama,jenis,alamat,lat,lng,radius_km,kode_pengurus,password_pengurus,kecamatan) VALUES - ('Masjid Raya Mujahidin','Masjid','Jl. Ahmad Yani No. 1, Pontianak Tenggara', - -0.0263330,109.3425200,2.5,'RI-MSJ-4821', - '\$2y\$10\$EQKGMwtGqPsn3kxOGkUf3eh3cnXOCEYqVNfCKDVk.Q7WYTCKvi5iG', - 'Pontianak Tenggara'), - ('Gereja Katedral Santo Yosef','Gereja','Jl. Diponegoro No. 120, Pontianak Kota', - -0.0380000,109.3422000,2.0,'RI-GRJ-7153', - '\$2y\$10\$EQKGMwtGqPsn3kxOGkUf3eh3cnXOCEYqVNfCKDVk.Q7WYTCKvi5iG', - 'Pontianak Kota') -"); - -// ── SEED: users (admin + walikota) ──────────────────────────── -$results[] = run($conn, 'SEED users (admin, walikota)', " - INSERT INTO users (nama,username,password,role,rumah_ibadah_id) VALUES - ('Administrator Sistem','admin', - '\$2y\$10\$AIO3pPEflVaouN/G.rvgWeZmSjr0Nnjsd2PTna4lSHEoDTWr9KQpi', - 'admin',NULL), - ('Walikota Pontianak','walikota', - '\$2y\$10\$AIO3pPEflVaouN/G.rvgWeZmSjr0Nnjsd2PTna4lSHEoDTWr9KQpi', - 'walikota',NULL) -"); - -// ── SEED: keluarga_miskin (5 data) ──────────────────────────── -$results[] = run($conn, 'SEED keluarga_miskin (5 data)', " - INSERT INTO keluarga_miskin - (nik,nama_kepala_keluarga,tanggal_lahir,pendidikan,jumlah_anggota,alamat,kecamatan,lat,lng,tingkat_kemiskinan,status_dtks,riwayat_penyakit,rumah_ibadah_id,jarak_ke_ibadah) - VALUES - ('6171010101010001','Budi Santoso','1978-03-15','SD',4,'Gg. Mawar No. 3, Benua Melayu Darat','Pontianak Tenggara',-0.0283000,109.3440000,'Sangat Miskin','Terdaftar DTKS','[\"Stunting\",\"Gizi Buruk\"]',1,0.2500), - ('6171010101010002','Siti Rahayu','1985-07-22','SMP',6,'Jl. Merdeka Gg. 5 No. 7, Mariana','Pontianak Kota',-0.0370000,109.3430000,'Miskin','Terdaftar DTKS','[\"TBC\",\"Hipertensi\"]',2,0.1200), - ('6171010101010003','Wayan Dharma','1972-11-08','Tidak Sekolah',3,'Gg. Bali No. 2, Bansir Laut','Pontianak Tenggara',-0.0290000,109.3410000,'Sangat Miskin','Belum DTKS','[\"Diabetes\",\"Hipertensi\",\"ODGJ\"]',1,0.3400), - ('6171010101010004','Ahmad Fauzan','1990-01-30','SMA',5,'Jl. Tanjungpura Gg. 12, Parit Tokaya','Pontianak Selatan',-0.0310000,109.3350000,'Miskin','Sedang Diusulkan','[\"Stunting\"]',NULL,NULL), - ('6171010101010005','Ruslan Effendi','1968-09-05','SD',7,'Jl. Sutan Syahrir Gg. Melati, Batu Layang','Pontianak Utara',-0.0200000,109.3460000,'Hampir Miskin','Terdaftar DTKS','[\"Jantung\",\"DBD\"]',1,0.7800) -"); - -// ── SEED: laporan_masyarakat ────────────────────────────────── -$results[] = run($conn, 'SEED laporan_masyarakat (1 data)', " - INSERT INTO laporan_masyarakat (nama_pelapor,no_hp,alamat_terlapor,lat,lng,deskripsi,status) VALUES - ('Pak RT 03','081234567890','Gg. Flamboyan No. 5, Pontianak Tenggara', - -0.0275000,109.3435000, - 'Terdapat keluarga dengan 5 anak yang sangat membutuhkan bantuan. Rumah tidak layak huni dan anak-anak putus sekolah.', - 'Baru') -"); - -// ── SEED: histori_bantuan ───────────────────────────────────── -$results[] = run($conn, 'SEED histori_bantuan (2 data)', " - INSERT INTO histori_bantuan (kk_id,jenis_bantuan,nominal,keterangan,tanggal_penyaluran,sumber_dana,penanggung_jawab) VALUES - (1,'PKH',3000000,'Bantuan tahap I tahun 2026','2026-01-15','APBN',1), - (2,'BPNT/Sembako',0,'10 kg beras + minyak goreng','2026-02-20','APBN',1) -"); - -$conn->close(); - -$allOk = !in_array('ERROR', array_column($results, 'status')); -?> - - - - -Migration — Web GIS Rumah Ibadah - - - -

🕌 Migration — Web GIS Rumah Ibadah

-

Membuat tabel dan seed data di database default

- - -
- -
- -
-
-
- - -
- -

✅ Migrasi Berhasil!

-

Semua tabel dan data seed berhasil dibuat.

- Buka Aplikasi → - -

❌ Ada Error

-

Periksa pesan error di atas dan coba lagi.

- -
- - -
-

🔑 Akun Demo

- - - - - - -
RoleUsernamePassword
Adminadminadmin123
Walikotawalikotaadmin123
Pengurus MasjidRI-MSJ-4821pengurus123
Pengurus GerejaRI-GRJ-7153pengurus123
-
-
- ⚠️ PENTING: Segera hapus file migrate.php setelah migrasi berhasil untuk keamanan sistem! -
- - - diff --git a/Web GIS Rumah Ibadah/update_passwords.php b/Web GIS Rumah Ibadah/update_passwords.php new file mode 100644 index 0000000..ef6331f --- /dev/null +++ b/Web GIS Rumah Ibadah/update_passwords.php @@ -0,0 +1,117 @@ +connect_error) { + die('

Koneksi gagal: ' . $conn->connect_error . '

'); +} +$conn->set_charset('utf8mb4'); + +$newHash = password_hash('password', PASSWORD_DEFAULT); +$results = []; + +// ── Update tabel users (admin + walikota) ──────────────────── +$stmt = $conn->prepare("UPDATE users SET password = ?"); +$stmt->bind_param('s', $newHash); +if ($stmt->execute()) { + $results[] = ['label' => 'UPDATE users (admin, walikota)', 'status' => 'OK', 'rows' => $stmt->affected_rows, 'msg' => '']; +} else { + $results[] = ['label' => 'UPDATE users', 'status' => 'ERROR', 'rows' => 0, 'msg' => $conn->error]; +} + +// ── Update tabel rumah_ibadah (password_pengurus) ──────────── +$stmt2 = $conn->prepare("UPDATE rumah_ibadah SET password_pengurus = ?"); +$stmt2->bind_param('s', $newHash); +if ($stmt2->execute()) { + $results[] = ['label' => 'UPDATE rumah_ibadah (RI-MSJ-4821, RI-GRJ-7153)', 'status' => 'OK', 'rows' => $stmt2->affected_rows, 'msg' => '']; +} else { + $results[] = ['label' => 'UPDATE rumah_ibadah', 'status' => 'ERROR', 'rows' => 0, 'msg' => $conn->error]; +} + +$conn->close(); + +$allOk = !in_array('ERROR', array_column($results, 'status')); +?> + + + + +Update Passwords — Web GIS Rumah Ibadah + + + +

🔑 Update Passwords

+

Mengganti semua password akun menjadi password

+ + +
+ +
+ + +
baris diperbarui
+ +
+
+
+ + +
+ +

✅ Password Berhasil Diperbarui!

+

Semua akun sekarang menggunakan password password

+ +

❌ Ada Error

+

Periksa pesan error di atas.

+ +
+ + +
+

🔑 Akun & Password Terbaru

+ + + + + + +
RoleUsernamePassword Baru
Adminadminpassword
Walikotawalikotapassword
Pengurus MasjidRI-MSJ-4821password
Pengurus GerejaRI-GRJ-7153password
+
+
+ ⚠️ PENTING: Hapus file update_passwords.php ini sekarang! +
+ + +