Sistem Login, Remember Me, Registrasi Dengan Email Konfirmasi Dengan PHP dan MySQL

Hi sobat Jagowebdev, pada kesempatan kali ini kami ingin memperkenalkan aplikasi sistem login dan registrasi dengan email konfirmasi yang dikembangkan dengan PHP dan MySQL.

Sistem Login Remember Me Registrasi Dengan Email Konfirmasi - PHP dan MySQL
Sistem Login Remember Me Registrasi Dengan Email Konfirmasi – PHP dan MySQL

Ketika membuat aplikasi, tentu kita tidak akan terlepas dari permasalahan pembuatan form login, logout, maupun form registrasi (form pendaftaran) untuk user baru. Proses pembuatan form tersebut terkadang memakan banyak waktu, pikiran, dan tenaga, mulai dari mendesain user interface nya hingga mendesain sistem nya.

Ketika membuat sistem login dan registrasi banyak hal hal lain yang berkaitan, seperti pembuatan halaman profil user, halaman ganti password, sistem lupa password, kirim ulang link aktivasi, dll. Namun demikian, Anda tidak perlu khawatir, karena dengan aplikasi ini semuanya sudah tersedia untuk Anda, Anda tinggal fokus mengembangkan aplikasi

Lingkungan Pengembangan Sistem Form Login dan Registrasi Dengan Email Konfirmasi

  1. Menggunakan PHP Versi 8, dapat berjalan dengan baik juga pada PHP Versi 7, minimal PHP versi 5.4
  2. Menggunakan Database Maria DB versi 10.4 (XAMPP 7.4) atau bisa juga menggunakan MySQL
  3. Menggunakan framework CSS Bootstrap 5
  4. Menggunakan framework Javascript jQuery 3.6
  5. Menggunakan Font Awesome 5

Fitur Sistem Login dan Registrasi Dengan Aktivasi Email Dengan PHP dan MySQL

Aplikasi Login dan Registrasi ini memiliki fitur yang komplet yang telah mengakomodir berbagai hal yang dibutuhkan oleh sebuah sistem login dan registrasi.

1. Sistem Login dan Logout

Tentu saja yang pertama yang harus ada adalah sistem login dan logout. Sistem login yang kami kembangkan di aplikasi ini telah menggunakan standar keamanan yang ada saat ini, diantaranya, password yang disimpan dalam database sudah terenkripsi dengan salt sehingga jauh lebih aman, disamping itu untuk form loginnya juga sudah menggunakan token CSRF sehingga dapat mengurangi risiko brute force attack.

2. Sistem Lupa Password

Sistem yang bagus mensyaratkan bahwa password yang tersimpan dalam database harus dalam bentuk terenkripsi sehingga tidak bisa dibaca oleh siapapun termasuk administrator, sehingga jika user lupa password maka tidak akan ada seorangpun yang dapat memberitahu password tersebut.

Demikian juga dengan aplikasi ini, aplikasi ini didesain hanya pemilik akun saja yang tahu password akun nya. Untuk mengakomodir user yang lupa password, kami telah menyediakan sistem lupa password, dimana user akan dikirimi link yang akan digunakan untuk membuat password baru.

Sistem Lupa Password (Reset Password)
Sistem Lupa Password (Reset Password)

3. Sistem Pendaftaran atau Registrasi Dengan Email Konfirmasi

Sistem registrasi atau sistem pendaftaran akun yang kami kembangkan ini telah dilengkapi dengan email konfirmasi. Setelah mendaftar, user akan dikirimi link aktivasi yang berisi token khusus, dengan link tersebut user dapat mengaktifkan akunnya. Token telah didesain sedemikian rupa sehingga memiliki standar keamanan tinggi.

Form Registrasi Dengan Email Konfirmasi - PHP dan MySQL
Form Registrasi Dengan Email Konfirmasi – PHP dan MySQL

Untuk meningkatkan keamanan, masa berlaku link aktivasi tersebut dibatasi waktu yaitu satu jam, dengan demikian jika dalam satu jam link tersebut tidak di klik, maka link tersebut akan expired dan user perlu untuk melakukan request kirim ulang link aktivasi.

4. Pengaturan Registrasi

Sistem registrasi yang ada di aplikasi ini sangat fleksibel, Anda dapat mengatur sistem registrasi dengan tiga macam model aktivasi yaitu:

  1. Aktivasi mandiri, yaitu user melakukan aktivasi mandiri melalui email konfirmasi yang dikirimkan ke alamat email user.
  2. Aktivasi otomatis, dengan model ini setelah user mendaftar maka seketika langsung aktif, sehingga setelah mendaftar langsung aktif, atau manual setelah user mendaftar, maka untuk mengaktifkan akunnya perlu dilakukan oleh administrator
  3. Aktivasi manual. Pada model ini akun user perlu di aktivasi secara manual oleh administrator.

Pengaturan aktivasi user ini dapat dilakukan di meu Setting Registrasi yang ada di halaman backend.

5. Kirim Ulang Link Aktivasi

Setelah user mendaftarkan akun, maka data user termasuk alamat email akan tersimpan di database, selanjutnya jika user tidak mengaktifkan akun dan mendaftar akun baru maka akan muncul peringatan bahwa email telah digunakan.

Email Sudah Terdaftar Tetapi Belum Diaktifkan
Email Sudah Terdaftar Tetapi Belum Diaktifkan

Untuk melanjutkan proses pendaftaran akun, user cukup meminta kirim ulang link aktivasi, sistem akan mengenerate token baru untuk kemudian dikirim ke user. Dengan cara ini, user tidak perlu repot repot lagi mengisi ulang form registrasi.

Penyediaan fitur kirim ulang link aktivasi ini juga bermanfaat jika terjadi kegagalan sistem pengiriman email sehingga user tidak memperoleh link aktivasi.

Kirim Ulang Link Aktivasi
Form Kirim Ulang Link Aktivasi

6. Desain sistem keamanan yang solid

Link aktivasi yang dikirim ke user didalamnya terdapat token khusus yang unik, yang berbeda untuk masing masing user. Dengan token ini, sistem dapat mengenali user untuk kemudian mengaktifkan akun user tersebut.

Token ini digenerate dengan metode khusus yang sangat aman, yang sesuai dengan standar yang ada saat ini, algoritma token ini mustahil untuk dipecahkan.

Konfirmasi Pendaftaran Dengan Email Menggunakan Token Yang Aman
Konfirmasi Pendaftaran Dengan Email Menggunakan Token Yang Aman

Selain untuk link aktivasi, token tersebut juga digunakan untuk token CSRF, token CSRF ini disertakan pada setiap form, baik form login, form registrasi, form reset password, dll. Dengan token CSRF ini, akan mengurangi risiko brute force attack maupun bot submit form.

7. Form Registrasi Dengan Password Meter (frontend dan Backend)

Untuk membantu user mengetahui tingkat keamanan password yang digunakan, form registrasi sudah kami lengkapi dengan password meter yang bermanfaat untuk mengukur kekuatan password.

Selain disisi frontend, pengecekan password juga dilakukan disisi backend. Sistem akan mengecek apakan password yang diinput user setidaknya memiliki 8 karakter, mengandung huruf besar, huruf kecil, dan angka.

Berikut contoh error yang di sebabkan karena pengisian password tidak sesuai dengan ketentuan

Sistem Registrasi Dengan Password Yang Aman
Sistem Registrasi Dengan Password Yang Aman

8. Halaman Profile dan Ubah Password

Setelah mendaftar, terkadang user perlu untuk memperbarui data profil nya. Untuk keperluan tersebut, kami telah menyediakan halaman profile user, di halaman ini, user dapat memperbarui data datannya termasuk mengganti foto avatar.

Selain ubah profile, user dapat juga mengganti passwordnya, penggantian password ini berada di halaman tersendiri. Berikut contoh halaman edit profile

Halaman Profil User Pada Sistem Login dan Registrasi Dengan Email Aktivasi
Halaman Profil User Pada Sistem Login dan Registrasi Dengan Email Aktivasi

9. Sistem Remember Me

Aplikasi login ini juga telah disertakan fitur remember me, dimana setelah user login dan kembali lagi, maka otomatis teridentifikasi sudah login sehingga tidak perlu login ke sistem.

Tidak seperti fitur remember me di tempat lain, fitur remember me di aplikasi ini telah didesain sedemikian rupa sehingga aman. Sistem remember me didesain menggunakan sistem token yang disimpan di database, sehingga tidak ada informasi user yang ter ekpose ke public, termasuk pada cookie browser.

Form Login Dengan Fitur Remember me
Form Login Dengan Fitur Remember me

10. Dual Model: Mode Website dan Mode Admin Template

Sistem Login Dengan Remember Me dan Sistem Registrasi Dengan Email Aktivasi ini tersedia dalam dua template yaitu model website, seperti pada contoh tampilan sebelumnya, maupun model admin template. Berikut contoh tampilan pada model Admin Template

Form Registrasi Model Admin Template
Form Registrasi Dengan Email Konfirmasi Model Admin Template

Model Admin Template ini memiliki fungsionalitas yang sama persis dengan model website. Untuk demonya dapata mengunjungi halaman demo Admin Template berikut ini:

Demo Admin Template.

11. Menu Manager

Aplikasi Login dan Registrasi Dengan Email Konfirmasi ini telah kami lengkapi dengan module Menu Manager yang dapat memudahkan Anda dalam mengelola menu yang ada, sehingga Anda dapat dengan mudah mengembangkan aplikasi ini.

Halaman Menu Manager
Halaman Menu Manager

12. Backend Yang Powerfull

Selain halaman frontend, kami juga telah menyediakan halaman administrasi yang dapat digunakan untuk berbagai keperluan diantaranya mengelola data user, mengatur model aktivasi user, dll.

Backend aplikasi ini menggunakan Admin Template PHP yang telah kami kembangkan sebelumnya yang telah teruji dengan baik untuk mengembangkan aplikasi, demonya dapat Anda coba disini.

13. Manajemen User

Bagi administrator / manajemen tentu ingin mengetahui informasi user yang terdaftar disistem, pada aplikasi backend yang kami kembangkan telah menyediakan halaman administrasi user. Dihalaman ini selain mengelola data user, Administrator juga memungkinkan untuk menambahkan data user secara manual.

Halaman Administrasi User
Halaman Administrasi User

14. Support Berbagai Email Services

Pengaturan setting email pada aplikasi ini sangat fleksibel dan mudah. Dengan dukungan penuh berbagai email service, seperti email dari shared hosting, email dari email hosting, GMAIL, maupun dari Amazon SES membuat Anda leluasa menggunakan email service sesuai dengan keinginan Anda.

15. Responsive Design

Saat ini aplikasi yang mendukung responsive design merupakan suatu keharusan. Demikian juga dengan aplikasi ini, seluruh layout aplikasi sudah mendukung responsive design sehingga aplikasi dapat ditampilkan dan berjalan dengan baik di berbagai jenis perangkat, baik PC, tablet, maupun smartphone.

16. Bonus: File Khusus User

Untuk memberikan gambaran bagaimana mengembangkan aplikasi ini, kami telah menyertakan contoh script akses file yang hanya bisa diakses oleh user, script tersebut dapat diakses di halaman Download.

File Download Khusus User
File Download Khusus User Yang Telah Registrasi

Pada halaman tersebut dicontohkan bahwa url file tidak langsung mengarah ke file asli, karena akan bisa didownload langsung oleh siapapun, melainkan alamat file disamarkan (tidak langsung mengarah ke file) sehingga bisa dilakukan berbagai pengecekan sebelum file tersebut benar benar di akses oleh user, seperti pengecekan login, mencatat aktifitas download, dll

Demo Aplikasi Login Register PHP MySQL

Agar memiliki gambaran tentang aplikasi login registrasi dengan PHP dan MySQL yang kami kembangkan ini, silakan mengklik tautan berikut ini:

Biaya Investasi

Jika sobat tertarik untuk memiliki aplikasi sistem login, remember me, dan registrasi dengan email aktivasi yang dikembangkan dengan PHP dan MySQL, sobat dapat join membership premium jagowebdev. Aplikasi ini adalah satu dari banyak resource yang disediakan khusus untuk member premium Jagowebdev. seperti ebook Query MySQL, Apliaksi PHP Admin Template, dll.

Biaya investasi saat ini tergolong murah, biaya dapat berubah sewaktu waktu sesuai dengan kebijakan perusahaan, so grab it fast, segera join member premium Jagowebdev sekarang.

Join Member Premium

Demikian pembahasan mengenai sistem login, logout, remember me, dan registrasi dengan email konfirmasi, semoga bermanfaat bagi sobat Jagowebdev

Salam

Tim Jagowebdev.

2 Feedback dari pembaca

  • halo pak Agus, saya mau tanya kalau membuat email no-reply@domain.com supaya email tersebut tidak menerima balasan itu bagaimana ya?
    saya pakai php 7 dan mariaDB 10 dan MySQL 8 dan pakai PHPMailer.. terimakasih 🙂

    salam,

    Jhonny

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com

  1. Tutorial Grocery CRUD Lengkap
  2. Implementasi HMVC Pada Codeigniter 4
  3. Trik Coding Cepat dan Efisien Pada PHP
  4. PHP Admin Template Dashboard
  5. Prefix Tabel Pada Database, Perlukah?
  6. Same Origin Policy – Apa dan Bagaimana Mengatasinya?
  7. JSONP Dengan Javascript dan jQuery – Lintas Domain
  8. JSON Pada Javascript – Panduan Lengkap
  9. JSON Pada Dokumen HTML
  10. JSON Dari Database – PHP dan MySQL