Cara mendisable route register dan reset password pada mode otentikasi di laravel 5.8


Setelah lama tidak menulis tentang laravel, tiba tiba saja sekarang versinya sudah loncat dari versi 5.6 yang terakhir saya tulis, postingan kali ini langsung ke Laravel versi 5.8. Perkembangan framework buatan Taylor Otwell berbasis PHP ini sangat masif cepat sekali, yang diiringi dengan berbagai fitur. Pada tulisan kali ini saya akan membahas bagaimana menonaktifkan routing Register dan Reset Password yang ada di framework Laravel.

Seperti yang anda tahu, bahwa laravel memiliki fitur untuk membuat sistem otentikasi dengan cepat seperti yang pernah saya tulis di artikel sebelumnya untuk Laravel 5.4 dan Laravel 5.3. Cara yang saya pernah posting dalam membuat sistem otentikasi tersebut sangat mudah, tidak sampai 5 menit anda sudah bisa memakainya.

Jika anda sudah membuat mode otentikasi dari fitur laravel yang saya tulis sebelumnya menngunakan perintah:

 php artisan make:auth

maka anda bisa melihat list routing yang telah dibuat dengan perintah di bawah ini melalui terminal:

 php artisan route:list 

hasilnya seperti di bawah ini:


anda melihat 5 baris dari bawah bahwa terdapat route register dan route password, routing tersebut adalah fitur register dan reset password yang dibuat secara otomatis di laravel. Jika anda mau mengaksesnya, maka pada halaman web aplikasi laravel akan terlihat seperti di bawah ini tampilannya:


di pojok kanan atas anda akan lihat tombol register disamping tombol login. Lalu bagaimana jika saya menghilangkan tombolnya saja tanpa menghilangkan fungsi register tersebut? Secara tampilan bisa saja hilang, tetapi apabila di akses dari URL: http://aplikasi.laravel/register setiap pengunjung atau siapa saja dapat memanfaatkan fitur itu untuk login ke dalam aplikasi laravel  yang anda buat seperti tampilan di bawah ini:


dari tampilan di atas, anda bisa melihat bahwa setiap pengunjung yang belum terotentikasi dapat mendaftar sebagai user dan masuk ke dalam aplikasi anda setelah mengakses URL yang saya maksud di atas. 

Demi keamanan sistem, saya ingin menghapus fitur register termasuk fitur reset password karena kedua fitur tersebut dapat diakses tanpa harus login terlebih dahulu dan berikut ini caranya. Anda bisa membuka file routes/web.php lalu lihat pada bagian ini:

 Auth::routes(); 

setelah itu ubah menjadi seperti berikut ini:


 Auth::routes(['register'=> false, 'reset'=>false]); 

simpan perubahan tersebut di file routes/web.php, lalu jalankan perintah:

 php artisan route:list

untuk melihat hasilnya apakah fitur reset password dan register user sudah terdisable di framework laravel:


dari hasil diatas, terlihat bahwa fitur register dan fitur reset password sudah tidak ada lagi dan tidak dapat diakses dari URL manapun. Jika anda mencoba mengaksesnya maka anda akan menjumpai tampilan halaman seperti berikut ini:


Mudah bukan menggunakan fitur otentikasi laravel, selamat mencoba ya :-)

Comments