Có quá nhiều điều sai trái với mã này: Show
1- Bạn có lỗ tiêm SQL. Nếu tôi nhập 4 làm tên người dùng, tôi sẽ luôn có quyền truy cập, bất kể điều gì. Thay đổi mã của bạn thành.Change your code into.
Xem: Làm thế nào để tiêm SQL từ truyện tranh XKCD "Bảng Bobby"? 2- Bạn đang lưu trữ mật khẩu rõ ràng Đây là một không lớn không. Kết hợp với lỗ tiêm SQL, sẽ mất một hacker 5 phút để có được danh sách tất cả các tên người dùng và mật khẩu trên trang web của bạn. Lưu trữ mật khẩu dưới dạng băm muối. Tôi thích sử dụng tên người dùng làm muối. Bạn lưu trữ mật khẩu băm bằng cách sử dụng:
Và bạn kiểm tra thông tin đăng nhập người dùng bằng cách sử dụng:
Xem: băm an toàn và muối cho mật khẩu PHP và: "muối" khi liên quan đến mysql sha1 là gì? BTW, sử dụng SHA2 với 512 kEyLENT, SHA1 không còn an toàn và MD5 thậm chí còn bị hỏng nhiều hơn. 3- Một thông tin đăng nhập chỉ có thể khớp với 1 người dùng mã này:
Không có ý nghĩa, nếu bạn nhận được 2 hàng ra khỏi cơ sở dữ liệu, đó là một dấu hiệu rõ ràng ai đó đã hack hệ thống của bạn. Bài kiểm tra nên là:
4- Đừng chết nếu có lỗi, hãy gọi một thói quen để khởi động lại kết nối hoặc một cái gì đó Mã này:
Tốt trong thử nghiệm, nhưng trong sản xuất, bạn nên làm một cái gì đó như
Thói quen khôi phục lỗi sẽ kết nối lại với máy chủ, đăng nhập lỗi trong nhật ký. Là lỗi không thể được sửa, nó sẽ gửi email đến sysadmin và chỉ sau đó chết máy chủ. Khóa học cho thấy cách xây dựng chức năng đăng ký với PHP và MySQL. Trong khóa học, chúng tôi sẽ học và thực hành xây dựng chức năng này và cách gửi email xác nhận để đăng ký thành công người dùng trong ứng dụng PHP. Trong bài học này, chúng ta sẽ học cách xác nhận dữ liệu đến từ mẫu đăng ký người dùng. Tập lệnh mới mà chúng tôi sẽ tạo trong bài học này chịu trách nhiệm xác thực dữ liệu và logic xử lý lỗi. Đảm bảo kiểm tra bài học trước để có mẫu đăng ký người dùng tại chỗ cho bài học này. Tổng quan về bài họcTrong bài học này, chúng ta sẽ học:
Đăng ký biểu mẫuMẫu thanh ghi mà chúng tôi đã tạo trong bài học trước thực hiện hai hành động:
Biến 8 chứa dữ liệu được gửi từ biểu mẫu và được chuyển cho tập lệnh 6.Rất dễ dàng để truy cập dữ liệu biểu mẫu từ biến 8. Để thực hiện việc này, biến 8 nên được sử dụng như một biến mảng với khóa, được sử dụng làm tên của trường Mẫu đầu vào.Vui lòng tham khảo biểu mẫu để có được đối số tên đúng của các trường đầu vào.
Tên của các trường đầu vào biểu mẫu là:
Để truy cập dữ liệu đã được gửi và có sẵn trong mảng biến 8, chúng tôi phải sử dụng các khóa ở trên và gán kết quả thành các biến.
Điều này sẽ hoạt động, tuy nhiên nếu không có dữ liệu với khóa sử dụng PHP sẽ hiển thị như một cảnh báo, nói rằng chìa khóa không tồn tại. Thẩm địnhĐể xác thực, chúng tôi phải xác minh rằng dữ liệu được gửi từ mẫu đăng ký có sẵn trong mảng biến 8 và không trống. Vì chúng tôi không muốn cho phép các giá trị trống khi tất cả các trường đầu vào biểu mẫu được yêu cầu cho quy trình đăng ký người dùng.Chúng tôi sẽ sử dụng hàm 4 PHP. Hàm cho phép kiểm tra xem khóa của tồn tại trong mảng và xác minh rằng giá trị có mặt và không trống.Hãy gán biến 8 vào biến 6 cục bộ.
Như bạn đã nhận thấy, chúng tôi đã sử dụng toán tử 7 (hoặc) để đảm bảo rằng tất cả các tham số được cung cấp. Nếu ít nhất một giá trị trống hoặc không tồn tại, chúng tôi sẽ hiển thị thông báo lỗi cho người dùng.Hàm 8 PHP cho phép in tin nhắn trong trình duyệt và hoàn thành việc thực thi tập lệnh. Việc sử dụng hàm 8 là một giải pháp tạm thời, chúng tôi sẽ xóa và sử dụng biến 0 để đặt tin nhắn. Hiện tại, chúng ta hãy hiển thị thông báo trên cùng một trang. 0Hãy đặt tin nhắn vào câu lệnh 1. 1Xác thực mật khẩuĐối với các trường mật khẩu và mật khẩu_confirm, chúng tôi sẽ kiểm tra xem cả hai giá trị có giống nhau không. Chúng tôi sẽ hiển thị một thông báo lỗi nếu nó không. 2Do đó, dữ liệu được truyền từ mẫu đăng ký người dùng được kiểm tra cho sự hiện diện của nó và mật khẩu và mật khẩu xác nhận khớp. Tập lệnh 6 có cả hai xác nhận dưới đây: 3Trong bài học tiếp theo, chúng tôi sẽ bao gồm xác thực cơ sở dữ liệu. Làm cách nào tôi có thể khớp tên người dùng và mật khẩu cơ sở dữ liệu của tôi trong PHP?PHP $ servername = "localhost"; $ username = "root"; $ password = ""; $ databasename = "test"; $ Conn = mysqli_connect ($ servername, $ username, $ password, $ databasename); $ un = $ _post ['tên người dùng']; $ pw = $ _post ['mật khẩu']; In $ Pass.
Làm cách nào để lấy mật khẩu và xác nhận mật khẩu trong PHP?Chỉ cần nhận cả mật khẩu và xác nhận các trường mật khẩu trong biểu mẫu Gửi PHP và kiểm tra cho bình đẳng: if ($ _post ["Mật khẩu"] === $ _POST ["isp xác nhận_password"]) {// Thành công! }if ($_POST["password"] === $_POST["confirm_password"]) { // success! }
Làm cách nào để kết nối trang đăng nhập và trang đăng ký của tôi với cơ sở dữ liệu của tôi?Bước 1- Tạo biểu mẫu đăng nhập PHP HTML.Để tạo biểu mẫu đăng nhập, hãy làm theo các bước được đề cập dưới đây: .... Bước 2: Tạo mã CSS để thiết kế trang web..... Bước 3: Tạo bảng cơ sở dữ liệu bằng MySQL..... Bước 4: Mở kết nối với cơ sở dữ liệu MySQL..... Bước 5 - Tạo một phiên đăng xuất..... Bước 6 - Tạo mã cho trang chủ .. Làm cách nào để tìm tên người dùng và mật khẩu cơ sở dữ liệu của tôi?Ngoài ra, bạn có thể sử dụng tên máy chủ của Trung tâm dữ liệu Đông và Bờ Đông theo bước số 4 bên dưới để đăng nhập ... Bước 1 - Tìm tên cơ sở dữ liệu của bạn.Truy cập trang cơ sở dữ liệu MySQL và cuộn xuống phần có tiêu đề cơ sở dữ liệu trên máy chủ này..... Bước 2 - Tìm tên người dùng của bạn..... Bước 3 - Tìm mật khẩu của bạn..... Bước 4 - Tìm tên máy chủ của bạn .. |