Hướng dẫn forgot password php code free download - quên mật khẩu mã php tải xuống miễn phí

Bánh mì

  1. Nhà //
  2. Quên mật khẩu trong PHP

Hệ thống đăng nhập bảo mật bằng Codeigniter với mã nguồn

1 năm Agoby Michael.Galanza2016 By michael.galanza2016

Xin chào! Đây là một dự án hệ thống đăng nhập an toàn bằng cách sử dụng Khung Codeigniter PHP. Hệ thống này có thể giúp bạn trong dự án Codeigniter trong tương lai cần bảo mật. Hệ thống đăng nhập này có tính năng đăng nhập/xác thực an toàn bằng cách băm/mã hóa mật khẩu của người dùng. Hệ thống đăng nhập này cũng có một số tính năng liên quan đến các chức năng đăng nhập như đăng ký và đặt lại mật khẩu. Tải về

  • Đọc thêm về hệ thống đăng nhập an toàn bằng cách sử dụng codeigniter với mã nguồn about Secure Login System using CodeIgniter with Source Code
  • Thêm bình luận mới
  • 3837 lượt xem

Đăng ký để quên mật khẩu trong PHP

Chào mừng bạn đến với một hướng dẫn nhanh về cách tạo tập lệnh khôi phục mật khẩu bị lãng quên với PHP và MySQL. Gặp rắc rối với một hệ thống yêu cầu đặt lại mật khẩu thủ công?

Hệ thống khôi phục mật khẩu tự động thường liên quan đến 3 bước:

  • Người dùng truy cập vào trang quên mật khẩu của người Viking và đưa ra yêu cầu đặt lại.
  • Sau đó, hệ thống tạo ra một hàm băm ngẫu nhiên và gửi liên kết xác nhận đặt lại đến email đã đăng ký của người dùng.
  • Cuối cùng, người dùng nhấp vào liên kết xác nhận; Hệ thống xác minh băm và tiến hành đặt lại mật khẩu.

Điều đó bao gồm tổng quan về quy trình và chúng ta hãy đi qua một ví dụ thực tế trong hướng dẫn này - đọc tiếp!

Tôi đã bao gồm một tệp zip với tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không phải sao chép mọi thứ, hoặc nếu bạn chỉ muốn đi thẳng vào.

MỤC LỤC

Tải xuống & ghi chú

Thứ nhất, đây là liên kết tải xuống đến mã ví dụ như đã hứa.

Ghi chú nhanh

  • Tạo cơ sở dữ liệu kiểm tra và nhập tệp 1-database.sql.
  • Cập nhật cài đặt cơ sở dữ liệu trong 2a-common.php lên chính bạn.
  • 2b-forgot.php là trang quên mật khẩu của người Viking và sẽ gửi một liên kết đến người dùng khi gửi. Thay đổi cài đặt email trong B4 thành của riêng bạn.
  • 2c-reset.php là trang xác nhận đặt lại mật khẩu.

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với toàn bộ thế giới, nếu bạn cần câu trả lời khẩn cấp, vui lòng kiểm tra danh sách các trang web của tôi để nhận trợ giúp lập trình.

Mã hóa ví dụ Tải xuống

Nhấn vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên đó hoặc sử dụng nó trong dự án của riêng bạn.

Phần 1] Cơ sở dữ liệu

Được rồi, bây giờ chúng ta hãy bắt đầu với một cơ sở dữ liệu đơn giản để xử lý các yêu cầu đặt lại người dùng và mật khẩu.

Bảng người dùng giả

1-database.sql

-- [A] USERS
CREATE TABLE `users` [
  `user_id` int[11] NOT NULL,
  `user_email` varchar[255] NOT NULL,
  `user_name` varchar[255] NOT NULL,
  `user_password` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `users`
  ADD PRIMARY KEY [`user_id`],
  ADD UNIQUE KEY `user_email` [`user_email`],
  ADD KEY `user_name` [`user_name`];

ALTER TABLE `users`
  MODIFY `user_id` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
 
INSERT INTO `users` [`user_id`, `user_email`, `user_name`, `user_password`] VALUES
  [1, '', 'John Doe', '123456'];

Đây chỉ là một bảng người dùng giả mà chúng tôi sẽ sử dụng trong ví dụ này - bạn đã có bảng người dùng của riêng mình ở đâu đó hoặc cảm thấy thoải mái khi được xây dựng trên đầu này.

Bảng đặt lại mật khẩu

1-database.sql

-- [B] PASSWORD RESET
CREATE TABLE `password_reset` [
  `user_id` int[11] NOT NULL,
  `reset_hash` varchar[64] NOT NULL,
  `reset_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
] ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `password_reset`
  ADD PRIMARY KEY [`user_id`];
  • ________ 9 Người dùng người dùng đã thực hiện yêu cầu mật khẩu quên mật khẩu.
  • -- [B] PASSWORD RESET
    CREATE TABLE `password_reset` [
      `user_id` int[11] NOT NULL,
      `reset_hash` varchar[64] NOT NULL,
      `reset_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
    ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    ALTER TABLE `password_reset`
      ADD PRIMARY KEY [`user_id`];
    0 - Hash ngẫu nhiên được tạo khi thực hiện yêu cầu đặt lại. Cũng sẽ được gửi đến email người dùng để xác minh; Nếu băm trong liên kết đặt lại giống như trong cơ sở dữ liệu, chúng tôi có thể xác nhận đó là một yêu cầu hợp lệ.
  • -- [B] PASSWORD RESET
    CREATE TABLE `password_reset` [
      `user_id` int[11] NOT NULL,
      `reset_hash` varchar[64] NOT NULL,
      `reset_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
    ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    ALTER TABLE `password_reset`
      ADD PRIMARY KEY [`user_id`];
    1 - Thời gian khi yêu cầu được thực hiện, để ngăn chặn spam.

Phần 2] Quên yêu cầu mật khẩu

Di chuyển, chúng ta hãy xây dựng trang mật khẩu quên sẽ tạo và gửi liên kết đặt lại đến người dùng qua email.

Tập lệnh cơ sở dữ liệu chung

2a-common.php

Bài Viết Liên Quan

Chủ Đề