Làm cách nào để xác thực người dùng trong php?

Xác thực người dùng là một cơ chế bảo mật tiêu chuẩn, Nó cho phép người dùng được xác định truy cập vào bất kỳ ứng dụng hoặc trang web kỹ thuật số nào. Nó ngăn chặn nghiêm ngặt người dùng không xác định truy cập web hoặc ứng dụng di động

Chúng tôi sử dụng các sản phẩm kỹ thuật số như Facebook, Twitter, Gmail trong cuộc sống hàng ngày và chúng tôi gần như quen thuộc với cơ chế đăng ký và đăng nhập của người dùng. Bạn tạo một tài khoản trước khi đăng nhập vào các ứng dụng này theo cách này bạn có thể sử dụng các tính năng của chúng

Chúng ta sẽ học gì

Trong bài viết này, chúng tôi sẽ nêu bật một số tính năng cốt lõi cần có để xây dựng một hệ thống đăng nhập và đăng ký hoàn chỉnh với PHP & MySQL

  • Tạo biểu mẫu Đăng nhập và Đăng ký với Bootstrap 4
  • Tạo kết nối cơ sở dữ liệu MySQL với dự án PHP
  • Quản lý dữ liệu người dùng trong phiên
  • Xác thực phía máy chủ PHP
  • Xử lý thông báo lỗi
  • Gửi email xác minh người dùng bằng plugin SwiftMailer
  • Bảo mật mật khẩu bằng cơ chế băm mật khẩu
  • Xác minh mật khẩu
  • Chuyển hướng URL dựa trên trạng thái đăng nhập của người dùng
  • Hiển thị dữ liệu của người dùng đã đăng nhập bằng phiên PHP
  • Đăng xuất và hủy phiên

Mục lục

Điều kiện tiên quyết

Trước khi bạn bắt đầu tạo một hệ thống Đăng nhập & Đăng ký Người dùng PHP 8 an toàn, bạn phải thiết lập một máy chủ web cục bộ bằng MAMP hoặc XAMPP

Bạn cũng có thể làm theo hướng dẫn này để Thiết lập MySQL trên Mac và Định cấu hình MySQL trong Ứng dụng đầu cuối

Cấu trúc tệp và thư mục PHP 8

Mở MAMP hoặc XAMPP và khởi động máy chủ web của bạn, sau đó chuyển đến thư mục htdocs và tạo thư mục và tệp sau đây cần thiết để phát triển hệ thống xác thực người dùng của chúng tôi

\-- php-user-authentication
  |-- config
      |--- db.php
  |-- controllers
      |--- login.php
      |--- register.php
      |--- user_activation.php
  |-- css
      |--- style.css
  |-- lib
      |--- 3rd party plugins
  |-- dashboard.php
  |-- header.php
  |-- index.php
  |-- logout.php
  |-- signup.php
  |-- user_verification.php

Tạo cơ sở dữ liệu & bảng trong MySQL

Máy chủ web cục bộ của chúng tôi đang hoạt động, hãy truy cập PHPMyAdmin

Đầu tiên tạo cơ sở dữ liệu

CREATE TABLE `users` [
  `id` int[11] NOT NULL,
  `firstname` varchar[100] NOT NULL,
  `lastname` varchar[100] NOT NULL,
  `email` varchar[50] NOT NULL,
  `mobilenumber` varchar[50] NOT NULL,
  `password` varchar[255] NOT NULL,
  `token` varchar[255] NOT NULL,
  `is_active` enum['0','1'] NOT NULL,
  `date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
5

Tạo bảng

CREATE TABLE `users` [
  `id` int[11] NOT NULL,
  `firstname` varchar[100] NOT NULL,
  `lastname` varchar[100] NOT NULL,
  `email` varchar[50] NOT NULL,
  `mobilenumber` varchar[50] NOT NULL,
  `password` varchar[255] NOT NULL,
  `token` varchar[255] NOT NULL,
  `is_active` enum['0','1'] NOT NULL,
  `date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
6 trong cơ sở dữ liệu MySQL

Bạn có thể tạo các cột theo cách thủ công hoặc thậm chí bạn có thể thực thi tập lệnh sql bên dưới từ tab

CREATE TABLE `users` [
  `id` int[11] NOT NULL,
  `firstname` varchar[100] NOT NULL,
  `lastname` varchar[100] NOT NULL,
  `email` varchar[50] NOT NULL,
  `mobilenumber` varchar[50] NOT NULL,
  `password` varchar[255] NOT NULL,
  `token` varchar[255] NOT NULL,
  `is_active` enum['0','1'] NOT NULL,
  `date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
7 để tạo các cột có giá trị sau

CREATE TABLE `users` [
  `id` int[11] NOT NULL,
  `firstname` varchar[100] NOT NULL,
  `lastname` varchar[100] NOT NULL,
  `email` varchar[50] NOT NULL,
  `mobilenumber` varchar[50] NOT NULL,
  `password` varchar[255] NOT NULL,
  `token` varchar[255] NOT NULL,
  `is_active` enum['0','1'] NOT NULL,
  `date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;

Kết nối cơ sở dữ liệu

Thêm đoạn mã sau vào config/db. tập tin php

Phương thức ob_start[] theo dõi bộ đệm đầu ra và cho phép chúng tôi sử dụng Header

$_SESSION cho phép chúng tôi lưu dữ liệu mà chúng tôi có thể sử dụng trong ứng dụng PHP của mình, phiên vẫn tồn tại miễn là cửa sổ trình duyệt được mở

Thiết kế giao diện người dùng đăng ký và đăng nhập người dùng với Bootstrap 4

Để thiết kế giao diện người dùng đăng ký và đăng nhập người dùng, chúng tôi đang sử dụng Bootstrap 4, hãy thêm liên kết Bootstrap CSS, JavaScript và jQuery vào phần đầu của bố cục HTML

Thêm đoạn mã sau vào phần đăng ký. php

doctype html>


    
    
    
    
    PHP User Registration System Example
    
    
    


    
        
            
                
                    Register
                    
                        First name
                        
                    
                    
                        Last name
                        
                    
                    
                        Email
                        
                    
                    
                        Mobile
                        
                    
                    
                        Password
                        
                    
                    
                        Sign up
                    
                
            
        
    

Thêm đoạn mã sau vào chỉ mục. php để tạo bố cục biểu mẫu đăng nhập

doctype html>


    
    
    
    
    PHP Login System
    
    
    


    
    
        
            
                
                    Login
                    
                        Email
                        
                    
                    
                        Password
                        
                    
                    Sign
                        in
                
            
        
    

Để thêm kiểu dáng trong ứng dụng xác thực người dùng PHP, hãy truy cập css/style. css và thêm đoạn mã sau

________số 8_______

Xây dựng hệ thống đăng ký người dùng

Để tạo một hệ thống đăng ký người dùng an toàn, chúng ta cần vào bên trong bộ điều khiển/đăng ký. php và đặt đoạn mã sau vào bên trong nó

Chủ Đề