Dalam tutorial ini, saya akan mengajari Anda cara membuat sistem login PHP aman Anda sendiri. Formulir masuk adalah yang dapat digunakan pengunjung situs web Anda untuk masuk ke situs web Anda untuk mengakses konten yang dibatasi, seperti halaman profil. Kami akan memanfaatkan MySQL untuk mengambil data akun dari database Show
Termasuk fitur tambahan dan tautan unduhan ke kode sumber. Selain itu, ini termasuk kode sumber tutorial lengkap Isi1. MulaiAda beberapa langkah yang perlu kita ambil sebelum kita membuat sistem login aman kita. Kami perlu mengatur lingkungan server web kami dan memastikan kami telah mengaktifkan ekstensi yang diperlukan 1. 1. Persyaratan
1. 2. Apa yang Akan Anda Pelajari dalam Tutorial ini
1. 3. Struktur & Pengaturan FileKita sekarang dapat memulai server web kita dan membuat file dan direktori yang akan kita gunakan untuk sistem login kita
Struktur File\-- login php Setiap file akan terdiri dari berikut ini
2. Membuat Desain Form LoginKami sekarang akan membuat formulir yang dapat digunakan pengguna kami untuk memasukkan detail mereka dan mengirimkannya untuk diproses. Kami akan menggunakan HTML dan CSS untuk bagian tutorial ini karena PHP tidak diperlukan di halaman ini Mengedit indeks. html dengan editor kode favorit Anda dan tambahkan kode berikut HTML
Jika kita arahkan ke halaman index di web browser anda, maka akan terlihat seperti berikut http. //localhost/phplogin/index. html Cukup mendasar bukan? . file css dan mengimplementasikan kode yang akan meningkatkan tampilan formulir Tambahkan kode berikut ke style. file css CSS _Kita perlu menyertakan stylesheet kita di index. html dan oleh karena itu kita harus menambahkan kode berikut ke bagian head HTML
Dan sekarang jika kita me-refresh index. html di browser web Anda, formulir login Anda akan terlihat lebih menarik http. //localhost/phplogin/index. html Itu terlihat jauh lebih baik. Mari persempit elemen form, sehingga kita bisa mendapatkan pemahaman yang lebih baik tentang apa yang terjadi
3. Membuat Database dan mengatur TabelUntuk bagian ini, Anda perlu mengakses database MySQL Anda, baik menggunakan phpMyAdmin atau aplikasi manajemen database MySQL pilihan Anda Ikuti petunjuk di bawah ini jika Anda menggunakan phpMyAdmin
Anda dapat menggunakan nama database Anda sendiri, tetapi untuk tutorial ini, kami akan menggunakan phplogin Yang kita butuhkan sekarang adalah tabel akun karena ini akan menyimpan semua akun (nama pengguna, kata sandi, email, dll) yang terdaftar di sistem Klik database di panel sisi kiri (phplogin) dan jalankan pernyataan SQL berikut SQL
Pada phpMyAdmin ini akan terlihat seperti ini http. //localhost/phpmyadmin/ Kode pernyataan SQL di atas akan membuat tabel akun dengan kolom id, username, password, dan email Pernyataan SQL akan memasukkan akun pengujian dengan nama pengguna. tes, dan kata sandi. tes. Akun pengujian akan digunakan untuk tujuan pengujian guna memastikan sistem login kami berfungsi dengan benar 4. Otentikasi Pengguna dengan PHPSekarang setelah database kita siap, kita dapat melanjutkan dan mulai membuat kode dengan PHP. Kita akan mulai dengan file autentikasi, yang akan memproses dan memvalidasi data formulir yang akan kita kirim dari index. html Edit autentikasi. php dan tambahkan berikut ini PHP _Awalnya, kode akan memulai sesi karena ini memungkinkan kami menyimpan detail akun di server dan nantinya akan digunakan untuk mengingat pengguna yang masuk. Tanpa sesi, kami tidak dapat mengaitkan klien dengan server Menghubungkan ke database sangat penting. Tanpanya, bagaimana kami dapat mengambil dan menyimpan informasi yang terkait dengan pengguna kami? Tambahkan di bawah PHP
Kode di atas akan memastikan data formulir ada, sedangkan jika pengguna mencoba mengakses file tanpa mengirimkan formulir, itu akan menghasilkan kesalahan sederhana Tambahkan di bawah PHP _Kode di atas akan menyiapkan pernyataan SQL yang akan memilih kolom id dan kata sandi dari tabel akun. Selain itu, ini akan mengikat nama pengguna ke pernyataan SQL, menjalankannya, lalu menyimpan hasilnya Tip Memanfaatkan pernyataan yang disiapkan dengan benar akan mengamankan kueri SQL Anda dan karenanya mencegah injeksi SQL Setelah baris berikut
Menambahkan PHP _Pertama, kita perlu memeriksa apakah kueri telah mengembalikan hasil apa pun. Jika nama pengguna tidak ada di database maka tidak akan ada hasil Jika nama pengguna ada, kita dapat mengikat hasilnya ke variabel $id dan $password Selanjutnya, kami melanjutkan untuk memverifikasi kata sandi dengan fungsi password_verify. Hanya kata sandi yang dibuat dengan fungsi password_hash yang akan berfungsi Jika Anda tidak ingin menggunakan metode enkripsi kata sandi apa pun, Anda cukup mengganti kode berikut PHP _Dengan PHP _0Namun, saya tidak menyarankan menghapus fungsi hashing karena jika entah bagaimana database Anda terekspos, semua kata sandi yang disimpan di tabel akun juga akan terekspos. Selain itu, pengguna akan memiliki rasa privasi mengetahui kata sandi mereka dienkripsi Setelah autentikasi berhasil dari pengguna, variabel sesi akan diinisialisasi dan dipertahankan hingga dihancurkan dengan keluar atau sesi berakhir. Variabel sesi ini disimpan di server dan dikaitkan dengan ID sesi yang disimpan di browser pengguna. Kami akan menggunakan variabel-variabel ini untuk menentukan apakah pengguna masuk atau tidak dan untuk menghubungkan variabel sesi dengan hasil database MySQL kami yang diambil Tahukah Anda? Fungsi session_regenerate_id() akan membantu mencegah pembajakan sesi karena meregenerasi ID sesi pengguna yang disimpan di server dan sebagai cookie di browser Pengguna tidak dapat mengubah variabel sesi di browser mereka, dan karena itu Anda tidak perlu khawatir tentang masalah seperti itu. Satu-satunya variabel yang dapat mereka ubah adalah ID sesi terenkripsi, yang digunakan untuk mengaitkan pengguna dengan sesi server Sekarang, kita dapat menguji sistem login dan memastikan otentikasi berfungsi dengan benar. Arahkan ke http. //localhost/phplogin/index. html di browser Anda Ketik nama pengguna dan kata sandi acak, dan klik tombol masuk. Seharusnya menampilkan kesalahan yang akan terlihat seperti berikut http. //localhost/php masuk/otentikasi. php Jangan khawatir, itu tidak rusak. Jika kita menavigasi kembali ke form login dan memasukkan test untuk field username dan password, halaman autentikasi akan terlihat seperti berikut http. //localhost/php masuk/otentikasi. php Jika Anda menerima kesalahan, pastikan untuk memeriksa ulang kode Anda untuk memastikan Anda tidak melewatkan apa pun atau memeriksa apakah akun pengujian ada di database Anda 5. Membuat Halaman BerandaHalaman beranda akan menjadi halaman pertama yang dilihat pengguna kami saat mereka masuk. Satu-satunya cara mereka dapat mengakses halaman ini adalah jika mereka login, sedangkan jika tidak, mereka akan dialihkan kembali ke halaman login Mengedit rumah. php dan tambahkan kode berikut PHP _1Pada dasarnya, kode di atas akan memeriksa apakah pengguna sudah masuk. Jika tidak, mereka akan dialihkan ke halaman login. Ingat variabel $_SESSION['loggedin'] yang kita definisikan di autentikasi. file php? Setelah itu, kita dapat menambahkan beberapa HTML ke beranda kita. Di bawah tag penutup, tambahkan kode berikut PHP _2Kode di atas adalah template untuk halaman rumah kami. Di halaman ini, pengguna akan menemukan pesan selamat datang bersama dengan nama mereka ditampilkan Kita perlu menambahkan CSS untuk halaman beranda. Tambahkan kode berikut ke style. file css PHP _3Sekarang setelah kami menyiapkan beranda, kami dapat mengalihkan pengguna kami dari autentikasi. php ke beranda kami, edit autentikasi. php dan ganti baris kode berikut PHP _4Dengan PHP _5Jika Anda masuk dengan akun percobaan, Anda akan melihat sesuatu seperti ini http. //localhost/phplogin/home. php Ini adalah halaman beranda yang cukup mendasar. Anda dapat menyesuaikannya sesuai keinginan Anda sekarang setelah Anda memahami cara kerjanya 6. Membuat Halaman ProfilHalaman profil akan menampilkan informasi akun untuk pengguna yang masuk Edit profil. php dan tambahkan kode berikut PHP _6Kode di atas mengambil informasi akun tambahan dari database, seperti sebelumnya dengan halaman beranda, kami tidak perlu terhubung ke database karena kami mengambil data yang disimpan dalam sesi Kami akan mengisi semua informasi akun untuk pengguna dan oleh karena itu kami harus mengambil kata sandi dan kolom email dari database. Kami tidak perlu mengambil kolom nama pengguna atau id karena kami telah menyimpannya dalam variabel sesi yang dideklarasikan dalam autentikasi. file php Setelah tag penutup, tambahkan kode berikut PHP _7Tata letak sederhana yang akan mengisi informasi akun. Jika Anda menavigasi ke profil. php, maka akan terlihat seperti berikut http. //localhost/phplogin/profil. php Ingat, kata sandi dienkripsi, jadi Anda tidak dapat melihat kata sandi yang didekripsi kecuali Anda membuat variabel sesi baru dan menyimpan kata sandi di autentikasi. file php 7. Membuat Skrip LogoutMembuat skrip logout sangatlah mudah. Yang perlu Anda lakukan hanyalah menghancurkan sesi yang dideklarasikan dalam autentikasi. file php Edit logout. php dan tambahkan kode berikut PHP _8Inisialisasi sesi, hancurkan, dan arahkan pengguna ke halaman login. Kami menggunakan sesi untuk menentukan apakah pengguna masuk atau tidak, jadi dengan menghapusnya, pengguna tidak akan masuk KesimpulanAnda sekarang harus memiliki pemahaman dasar tentang bagaimana sistem login bekerja dengan PHP dan MySQL. Anda bebas menggunakan kode sumber dan memasukkannya ke dalam proyek Anda sendiri Langkah selanjutnya adalah membuat sistem pendaftaran yang memungkinkan pengunjung untuk mendaftar Jangan lupa untuk mengikuti kami dan membagikan artikel ini karena ini akan membantu kami membuat tutorial selanjutnya dan memperbarui konten yang ada dengan fitur baru Tutorial berikutnya dalam seri ini. Sistem Registrasi Aman dengan PHP dan MySQL Jika Anda ingin mendukung kami, pertimbangkan untuk membeli sistem masuk & pendaftaran aman lanjutan di bawah ini karena ini akan sangat membantu kami membuat lebih banyak tutorial dan menjaga agar situs web kami tetap aktif dan berjalan. Paket lanjutan mencakup kode yang ditingkatkan dan lebih banyak fitur Canggih$ 20. 00 melihat rincian lebih lanjutKode sumber File SQL basis data Login Aman & Sistem Registrasi Beranda, Profil & Edit Halaman Profil Fitur Aktivasi Akun Fitur Ingat Saya Integrasi AJAX PDO, MVC OOP & Versi Dasar panel admin Tambahan. Tidak ingat kata sandi Tambahan. Perlindungan Brute Force Tambahan. Perlindungan CSRF Tambahan. Autentikasi Dua Faktor Tambahan. Captcha asli Tambahan. reCAPTCHA v3 Tambahan. Google OAuth Tambahan. OAuth Facebook Desain Responsif (ramah seluler) File SCSS Kode yang dikomentari Pembaruan & Dukungan Gratis (masalah kecil) Panduan pengguna Tambahan. Kode Sumber Tutorial PayPal Unduh Kripto Unduh Penjualan Bundel (Hemat 53%)$ 119. 00 255. 00 melihat rincian lebih lanjutLogin Aman & Sistem Registrasi Sistem Keranjang Belanja Aplikasi CRUD Sistem Tiket Sistem Galeri Sistem Kalender Acara Sistem Polling dan Voting Sistem Komentar Sistem Peninjauan formulir kontak Sistem Obrolan Dukungan Langsung Buletin & Sistem Mailing Akses ke skrip masa depan PayPal Unduh Kripto Unduh Tentang PenulisDavid AdamsPengembang situs web yang antusias, saya telah merancang dan mengembangkan aplikasi web selama lebih dari 10 tahun, saya menikmati kreativitas yang saya masukkan ke dalam proyek saya dan menikmati apa yang dibawa orang lain ke web yang luar biasa. Tujuan saya adalah membantu pendatang baru mempelajari cara-cara web Bagaimana saya bisa mengetahui ID login dan kata sandi saya di php?php $namaserver = "localhost";
Bagaimana cara memeriksa kata sandi di php?Fungsi password_verify() dapat memverifikasi bahwa hash yang diberikan cocok dengan sandi yang diberikan . Perhatikan bahwa fungsi password_hash() dapat mengembalikan algoritme, biaya, dan garam sebagai bagian dari hash yang dikembalikan. Oleh karena itu, semua informasi yang perlu diverifikasi merupakan hash yang termasuk di dalamnya.
Bagaimana cara memeriksa kata sandi dan mengonfirmasi kata sandi di php?[\w\-]+)/",$email)) { $emailErr = "Anda Memasukkan Format Email yang Tidak Valid"; } } //Validasi Username if (kosong($_POST["username"])) { $userErr . "; } else { $username = test_input($_POST["username"]); } //Validasi kata sandi dan konfirmasi kata sandi
Bagaimana cara memeriksa login di php?session_start(); Periksa apakah $_SESSION["loggedIn" ] (tidak) benar - Jika tidak, alihkan mereka ke login . Simpan jawaban ini. |