Rumahweb Journal
banner - Cara Membuat Fitur Update Password Otomatis di Laravel

Cara Membuat Fitur Update Password Otomatis di Laravel

Pada panduan sebelumnya, kami telah membahas cara membuat script PHP untuk mengganti password secara otomatis pada website berbasis PHP Native. Dalam panduan ini, kita akan melanjutkannya dengan membahas fitur update password otomatis di Laravel framework.

Bagi sebuah aplikasi web yang menyimpan data penting, pembaruan password setiap user sangat dianjurkan karena menjadi bagian dasar dari sistem keamanan.

Dalam panduan ini, kami akan menunjukkan langkah-langkah mudah untuk membuat fitur pembaruan password otomatis di Laravel. Password baru akan dibuat secara acak dengan kunci yang kuat, lalu dikirimkan langsung ke alamat email masing-masing user.

Step 1. Buat Perintah Pembaruan Laravel

Pada tahap awal, Anda perlu membuat file khusus di Laravel yang nantinya akan mengeksekusi intruksi dalam scriptnya. Jalankan perintah berikut dalam terminal laravel Anda:

$ php artisan make:command ResetAllPasswords

Jika berhasil, silahkan edit file ResetAllPasswords.php sesuai lokasi yang tertera, misalnya app/Console/Commands/ kemudan isinya seperti berikut:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Str;

class ResetAllPasswords extends Command
{
    protected $signature = 'users:reset-passwords';
    protected $description = 'Reset password random dan kirim ke email masing-masing';

    public function handle()
    {
        $users = User::all();
        $this->info("Memproses " . $users->count() . " pengguna...");

        foreach ($users as $user) {
            $newPassword = Str::random(18); // Buat password acak
            $user->password = Hash::make($newPassword);
            $user->save();

             try {
                Mail::raw("Password Anda telah diperbaharui dan berikut adalah passwordnya: $newPassword", function ($message) use ($user) {
                    $message->to($user->email)
                            ->subject('Password Baru Anda');
                });

                $this->info("Password baru berhasil dikirim ke: " . $user->email);
            } catch (\Exception $e) {
                $this->error("Gagal mengirim ke: " . $user->email . " - " . $e->getMessage());
            }
        }

        $this->info("Selesai reset password semua akun.");
        return 0;
    }
}

Silahkan simpan script diatas, kemudian ke step 2 dibawah.

Pindah Hosting ke Rumahweb Gratis

Step 2. Uji Coba Update Password

Tahap kedua, Anda perlu mencobanya secara langsung dengan menjalankan perintah berikut di terminal:

$ php artisan users:reset-passwords

Jika berhasil, maka akan tampil seperti gambar dibawah:

Uji coba Fitur Update Password Otomatis di Laravel

Dan gambar dibawah adalah pesan yang dikirim ke email terdaftar sesuai yang tampil dalam list gambar atas:

Email notifikasi reset password otomatis di laravel

Anda akan menerima pesan berisikan password yang telah diperbarui, setelah itu gunakan untuk testing login webnya.

Step 3. Tambahkan Proses Pembaruan di Cron

Langkah terakhir dalam panduan ini adalah menambahkan command reset password ke dalam Cron Jobs agar proses berjalan otomatis sesuai jadwal. Dengan cron, Anda tidak perlu lagi menjalankan perintah manual setiap kali ingin memperbarui password user.

Jika menggunakan cPanel, Anda bisa menambahkan command berikut pada menu Cron Jobs. Panduan setting cron jobs di cPanel bisa Anda pelajari di artikel: setting cron jobs cPanel

Misalnya, Anda ingin password diperbarui otomatis setiap hari Rabu pukul 08:00 pagi, maka pengaturannya bisa dibuat seperti contoh di bawah ini:

Waktu: 0 8 * * 3  
Perintah: php -q /home/usercpanel/root-laravel/artisan users:reset-passwords >> /dev/null 2>&1

Keterangan:

  • 0 8 * * 3 artinya cron akan dijalankan setiap pukul 08:00 di hari Rabu.
  • php -q /home/usercpanel/root-laravel/artisan users:reset-passwords adalah command untuk menjalankan perintah Artisan yang sudah Anda buat.
  • >> /dev/null 2>&1 digunakan agar output atau pesan error tidak ditampilkan di email cron, sehingga lebih rapi.

Dengan begitu, sistem Laravel Anda akan otomatis memperbarui password user sesuai jadwal yang ditentukan tanpa perlu campur tangan manual.

Penutup

Dengan menambahkan fitur update password otomatis di Laravel, Anda tidak hanya mempermudah manajemen akun pengguna, tetapi juga meningkatkan keamanan aplikasi secara signifikan. Proses ini memastikan setiap user memiliki password yang kuat dan selalu diperbarui sesuai jadwal, sehingga meminimalisir risiko kebocoran data.

Semoga panduan ini membantu Anda dalam mengimplementasikan sistem keamanan yang lebih baik di website berbasis Laravel. Dan jika Anda butuh hosting yang lebih aman dengan fitur firewall dan antivirus atau perlindungan keamanan lainnya, gunakan layanan hosting dari Rumahweb.

Demikian artikel kami tentang cara membuat fitur update password otomatis di Laravel, semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 5 / 5. Vote count: 4

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Fredric Lesomar

I am an ameteur programer and cybersecurity enthusiast. Love much, mother Python language, machine learning and You!

banner pop up - Pindah Hosting ke Rumahweb