Cách sử dụng cookie trong PHP để đăng nhập

Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi khi cùng một máy tính yêu cầu một trang có trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và truy xuất các giá trị cookie

Tạo Cookie Với PHP

Cookie được tạo bằng hàm

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
1

cú pháp

setcookie[tên, giá trị, hết hạn, đường dẫn, tên miền, bảo mật, chỉ http];

Chỉ có tham số tên là bắt buộc. Tất cả các tham số khác là tùy chọn

PHP Tạo/Truy xuất Cookie

Ví dụ sau tạo một tập lệnh nhỏ để kiểm tra xem cookie có được bật hay không. Đầu tiên, bạn thử tạo một cookie thử nghiệm với hàm

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}
1, sau đó đếm biến mảng $_COOKIE

Làm cho nó đơn giản, các phiên là duy nhất và tồn tại miễn là trang được mở [hoặc cho đến khi hết thời gian chờ]. Nếu trình duyệt của bạn bị đóng, điều tương tự cũng xảy ra với phiên

Làm thế nào để sử dụng nó?

Chúng khá đơn giản để thực hiện. Trước tiên, hãy đảm bảo rằng bạn bắt đầu các phiên ở đầu mỗi trang


Ghi chú. Điều quan trọng là lệnh gọi này phải xuất hiện trước bất kỳ đầu ra trang nào, nếu không nó sẽ dẫn đến lỗi "tiêu đề đã được gửi"

Được rồi, bây giờ phiên của bạn đã sẵn sàng và đang chạy. Phải làm gì tiếp theo? . người dùng gửi thông tin đăng nhập/mật khẩu thông qua biểu mẫu đăng nhập và bạn xác thực nó. Nếu thông tin đăng nhập hợp lệ, hãy lưu nó vào phiên

if[$validLoginCredentials]{
    $_SESSION['user_id'] = $id;
    $_SESSION['user_login'] = $login;
    $_SESSION['user_name'] = $name;
}

hoặc dưới dạng một mảng [mà tôi thích hơn]

if[$validLoginCredentials]{
    $_SESSION['user'] = array[
        'name' => $name,
        'login' => 'login',
        'whichever_more' => $informationYouNeedToStore
    ];
}

Ok, bây giờ người dùng của bạn đã đăng nhập. Vậy làm thế nào bạn có thể biết/kiểm tra điều đó?

if[isset[$_SESSION['user_id']]]{ // OR isset[$_SESSION['user']], if array
// Logged In
}else{
// Not logged in :[
}

Tất nhiên, bạn có thể đi xa hơn và bên cạnh việc kiểm tra xem phiên có tồn tại hay không, hãy tìm kiếm ID người dùng được lưu trữ trong cơ sở dữ liệu để xác thực người dùng. Tất cả phụ thuộc vào mức độ bảo mật bạn cần

Trong ứng dụng đơn giản nhất, sẽ không bao giờ tồn tại $_SESSION['user'] trừ khi bạn đặt thủ công trong hành động đăng nhập. Vì vậy, chỉ cần kiểm tra sự tồn tại của nó cho bạn biết người dùng đã đăng nhập hay chưa

Thoát ra. chỉ cần phá hủy nó. Bạn đã có thể sử dụng

session_destroy[];

Nhưng hãy nhớ rằng điều này sẽ hủy tất cả các phiên bạn đã thiết lập cho người dùng đó. Nếu bạn cũng đã sử dụng $_SESSION['foo'] và $_SESSION['bar'], những thứ đó cũng sẽ biến mất. Trong trường hợp này, chỉ cần bỏ đặt phiên cụ thể

unset[$_SESSION['user']];

Và thực hiện. Người dùng không đăng nhập nữa. . ]

Vâng, đó là nó. Để nhắc bạn một lần nữa, đây là những ví dụ về phương thức đăng nhập rất đơn giản. Bạn sẽ cần nghiên cứu thêm một chút và cải thiện mã của mình bằng một số lớp kiểm tra bảo mật khác tùy thuộc vào yêu cầu bảo mật của ứng dụng của bạn



Nếu bạn đang tìm hướng dẫn về Cách tạo trang Đăng xuất Đăng nhập PHP bằng Cookies, thì bạn đã đến đúng chỗ rồi, trong bài đăng này, chúng tôi đã mô tả Cách tạo tập lệnh đăng nhập PHP bằng Cookies. Chúng tôi đã mô tả Cách tạo biểu mẫu Đăng nhập PHP bằng cách sử dụng Phiên với các tùy chọn khác nhau như PHP PDO, Hướng đối tượng và cả trong Codeigniter. Nhưng trong tất cả các bài đăng, chúng tôi đã sử dụng Phiên để tạo tập lệnh đăng xuất đăng nhập PHP. Nhưng ở đây chúng tôi đã triển khai Cookies cho tập lệnh Đăng xuất đăng nhập PHP đã phát triển.

Chúng ta đều biết Phiên bảo mật hơn Cookie. Dữ liệu phiên được lưu trữ trên máy chủ trong khi dữ liệu Cookie được lưu trữ trên trình duyệt của người dùng. Cookie nhẹ hơn Phiên và Cookie có thể dễ dàng bị hack. Đây là tất cả những nhược điểm của việc sử dụng Cookies để đăng nhập hệ thống. Nhưng ở đây chúng tôi chỉ mô tả chúng tôi cũng có thể sử dụng Cookies để phát triển hệ thống Đăng nhập trong PHP. Chúng tôi đã thực hiện hướng dẫn này chỉ cho mục đích học tập.

Vì vậy, trong bài đăng này, chúng tôi sẽ tạo biểu mẫu Đăng nhập đơn giản với biểu mẫu đăng xuất. Để xác minh mật khẩu, chúng tôi đã sử dụng phương thức băm password_verify[] để xác thực mật khẩu được mã hóa. Nếu người dùng đã nhập dữ liệu phù hợp thì sau tập lệnh này, chúng tôi đã tạo một biến cookie mà chúng tôi có thể truy cập từ toàn bộ hệ thống bằng cách sử dụng chức năng setcookies. Sau khi tạo biến cookie, bây giờ chúng tôi muốn xác thực biến cookie đó, vì vậy chúng tôi đã sử dụng hàm isset[], bằng cách sử dụng hàm này, chúng tôi có thể xác thực biến $_COOKIE này. Sau khi đăng nhập vào hệ thống, bây giờ chúng tôi muốn đăng xuất khỏi hệ thống, để đăng xuất khỏi hệ thống, chúng tôi cũng có setcookie[] và bằng cách sử dụng chức năng này, chúng tôi cũng có thể hủy giá trị cookie. Vì vậy, theo cách này, chúng ta có thể sử dụng hàm setcookie[], chúng ta cũng có thể tạo hoặc hủy giá trị. Sau khi hủy giá trị cookie, bây giờ chúng ta có thể đăng xuất khỏi hệ thống. Bằng cách này, chúng tôi có thể sử dụng COOKIE để phát triển biểu mẫu đăng nhập trong PHP


Demo






Mã nguồn


cơ sở dữ liệu_connection. php






đăng nhập. php



Chủ Đề