Hi sobat Jagowebdev, pada kesempatan kali ini kami ingin memperkenalkan aplikasi sistem login dan registrasi dengan email konfirmasi yang dikembangkan dengan 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
- Menggunakan PHP Versi 8, dapat berjalan dengan baik juga pada PHP Versi 7, minimal PHP versi 5.4
- Menggunakan Database Maria DB versi 10.4 (XAMPP 7.4) atau bisa juga menggunakan MySQL
- Menggunakan framework CSS Bootstrap 5
- Menggunakan framework Javascript jQuery 3.6
- 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.
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.
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:
- Aktivasi mandiri, yaitu user melakukan aktivasi mandiri melalui email konfirmasi yang dikirimkan ke alamat email user.
- 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
- 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.
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.
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.
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
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
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.
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
Model Admin Template ini memiliki fungsionalitas yang sama persis dengan model website. Untuk demonya dapata mengunjungi halaman demo Admin Template berikut ini:
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.
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.
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.
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 PremiumDemikian 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
Setahu saya semua email bisa dibalas mas, itu pakai no-reply maksudnya biar ngga direply saja karena akan diabaikan (informasinya searah saja)