Trong thời gian gần đây, trên các phương tiện truyền thông đưa tin về các vụ hack ngày càng nhiều. Do đó, chúng ta cần phải sử dụng hệ thống bảo vệ tốt nhất cho website của mình. Giá sử trang web có bạn cho phép người dùng đăng ký tài khoản. Và các hacker thường tấn công vào database để đánh cắp các thông tin này. Như vậy chúng ta cần tập trung vào việc bảo vệ dữ liệu người dùng. Một trong số những cách bảo vệ tốt nhất hiện nay là mã hóa password.
Các tính năng trong script này:
- Gửi email xác nhận cho những user đã đăng ký.
- Tài khoản user trong database có địa chỉ email duy nhất, lưu giữ họ và tên user.
- Password được mã hóa trước khi được lưu sử dụng hàm
password_hash
. - Tài khoản user được kích hoạt khi nhập đúng mã đã được gửi vào email.
- Tạo một phiên đăng nhập an toàn và sử dụng lại hàm
password_hash
để kiểm tra password đã được lưu vào database dưới dạng mã hóa. - Khóa tạm thời nếu đăng nhập sai vượt quá số lần quy định.
- Thoát phiên đăng nhập khi người dùng logout.
Trang login và registration:
Database:
Email xác nhận:
Các phương thức được sử dụng:
User::dbConnect() User::getUser() User::registration() User::sendConfirmationEmail() User::emailActivation() User::passwordChange() User::assignRole() User::userUpdate() User::checkEmail() User::registerWrongLoginAttempt() User::hashPass() User::printMsg() User::logout() User::listUsers() User::render() User::indexHead(), User::indexTop(), User::loginForm(), User::activationForm(), User::indexMiddle(), User::registerForm(), User::indexFooter(), User::userPage()
Nguồn bài viết:
Các bạn có thể xem demo và download tại đây.