Cookie PHP là một mẩu thông tin nhỏ được lưu trữ tại trình duyệt máy khách. Nó được sử dụng để nhận ra người dùng
Cookie được tạo ở phía máy chủ và được lưu vào trình duyệt máy khách. Mỗi khi máy khách gửi yêu cầu đến máy chủ, cookie sẽ được nhúng cùng với yêu cầu. Như vậy, cookie có thể được nhận ở phía máy chủ
Nói tóm lại, cookie có thể được tạo, gửi và nhận ở cuối máy chủ
Ghi chú. PHP Cookie phải được sử dụng trước thẻ
Hàm setcookie[] trong PHP
Hàm setcookie[] trong PHP được sử dụng để đặt cookie với phản hồi HTTP. Khi cookie được đặt, bạn có thể truy cập nó bằng biến siêu toàn cầu $_COOKIE
Cookies được lưu trữ trong trình duyệt dưới dạng tệp văn bản. Nó được lưu trữ lượng dữ liệu giới hạn. Nó chỉ cho phép 4kb[4096bytes]. Nó không giữ nhiều biến trong cookie
Phiên được lưu trữ ở phía máy chủ. Nó được lưu trữ lượng dữ liệu không giới hạn. Nó đang giữ nhiều biến trong các phiên. chúng tôi không thể truy cập các giá trị cookie một cách dễ dàng. Như vậy là an toàn hơn
Ví dụ về Cookie
Ví dụ về Cookie
Ví dụ về phiên
Ví dụ về phiên
Magenet là giải pháp thay thế Adsense tốt nhất ở đây chúng tôi kiếm được 2 đô la cho một liên kết, Ở đây chúng tôi nhận được các quảng cáo liên kết. magenet
Cookies có thể được sử dụng để ngăn truy cập trực tiếp vào các trang của trang web mà không cần đăng nhập vào trang web đó trước. Sau khi quá trình đăng nhập tạo cookie, tập lệnh PHP trên tất cả các trang khác sẽ kiểm tra xem có cookie hay không trước khi hiển thị nội dung
Ví dụ bên dưới, trang đăng nhập tạo cookie có tên là ủy quyền với giá trị là ok khi người dùng gửi biểu mẫu. Trình duyệt được chuyển hướng đến trang tiếp theo để tìm cookie. Nếu không thể tìm thấy cookie, trình duyệt sẽ được chuyển hướng đến trang đăng nhập
Setting Cookie Username:
Password:
Logged InSuccessful log-in.
Một cách khác để làm cho dữ liệu có thể truy cập được trên các trang web khác nhau là sử dụng phiên. Các phiên trong PHP được điều khiển bởi một ID phiên duy nhất, một số ngẫu nhiên được mã hóa. ID phiên này được tạo bởi PHP và được lưu trữ ở phía máy khách trong suốt thời gian của phiên. Nó có thể được lưu trữ trên máy tính của người dùng trong cookie hoặc được chuyển qua các URL.
ID phiên hoạt động như một khóa cho phép chúng tôi đăng ký các biến cụ thể được gọi là biến phiên. Nội dung của các biến này được lưu trữ tại máy chủ. ID phiên là thông tin duy nhất hiển thị ở phía máy khách. Vì vậy, nếu ID phiên hiển thị thông qua cookie hoặc URL tại thời điểm kết nối cụ thể với trang web của chúng tôi, chúng tôi có thể truy cập các biến phiên được lưu trữ trên máy chủ cho phiên đó. Theo mặc định, các biến phiên được lưu trữ trong các tệp phẳng trên máy chủ
Vì vậy, khi chúng tôi thấy URL của mình chứa một chuỗi dữ liệu trông ngẫu nhiên, rất có thể đó là một trong các dạng kiểm soát phiên
Phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi có thể lưu trữ các biến phiên đã đăng ký và giá trị của chúng. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó
Vị trí của tệp tạm thời được xác định bởi cài đặt trong tệp php. tập tin ini. phiên họp. Lưu đường dẫn. Giá trị hiện tại của nó được hiển thị trong khối phiên của phpinfo. trang php
Hãy kiểm tra xem điều gì có thể xảy ra khi một phiên bắt đầu
- PHP tạo một mã định danh duy nhất cho phiên. ID phiên hoặc mã thông báo phiên là một chuỗi gồm 32 số thập lục phân
- Cookie có tên PHPSESSID được tự động gửi đến máy tính của người dùng để lưu trữ nhận dạng phiên duy nhất
- Một tệp được tạo tự động trên máy chủ và có tên của mã định danh duy nhất có tiền tố là sess_
Bây giờ dữ liệu có thể được lưu trữ trong các biến phiên kể từ khi phiên được thiết lập. Dữ liệu sẽ được ghi vào tệp sess_ trên máy chủ
Khi tập lệnh cố truy xuất giá trị từ biến phiên, PHP sẽ tự động lấy chuỗi ID phiên duy nhất từ cookie PHPSESSID. Sau đó, nó nhìn vào thư mục tạm thời cho tệp có cùng tên. Khi điều này được tìm thấy, tệp sẽ được mở và biến được phục hồi
Vì quy trình này chỉ dựa vào cookie trên máy tính của người dùng và tệp trong thư mục tạm thời của máy chủ, nên các biến phiên có sẵn cho từng trang của toàn bộ trang web. Phiên kết thúc khi người dùng đóng trình duyệt của họ hoặc không tải trang mới trong một khoảng thời gian định trước
Đây là ví dụ về Cookie Firefox.
Công cụ > Tùy chọn. , sau đó chúng tôi nhận được
Chọn Sử dụng cài đặt tùy chỉnh. , thì chúng ta sẽ có một mục mới trên hộp thoại Tùy chọn
Nếu chúng tôi nhấp vào Hiển thị cookie. nút, chúng tôi nhận được thông tin về các lượt truy cập trước đó
Một phiên PHP được bắt đầu bằng cách gọi hàm session_start[]. Nó kiểm tra xem một phiên đã được bắt đầu chưa và sau đó bắt đầu một phiên nếu không có gì tồn tại. Nó cũng báo cho công cụ PHP mong đợi các biến phiên sẽ được sử dụng trong các tập lệnh trên trang này. Do đó, lời gọi hàm đó phải ở đầu trang
Biến phiên được tham chiếu bởi biến mảng $_SESSION[]. Ví dụ: $_SESSION['visit_count'] = 1 khởi tạo một biến phiên có tên "visit_count" với giá trị là 1
Ví dụ bên dưới sử dụng hàm isset[] để thiết lập trước nếu một biến phiên cụ thể đã tồn tại. Nếu không có, tập lệnh sẽ tạo biến phiên có tên là visit_count. Mỗi khi trang được truy cập trong phiên, các giá trị visit_count sẽ tăng thêm 1
#visit_count.php Counting VisitYou have visited this page time[s] in this session.
Trước khi chúng tôi chạy tập lệnh, hãy xem cài đặt cookie cho IE.
Công cụ > Tùy chọn Internet > Tab Quyền riêng tư.
Nhấp vào nút Nâng cao và chặn tất cả các cookie như trong hình bên dưới
Bây giờ, hãy thử chạy tập lệnh, mở IE và nhập localhost/visit_count. php vào URL. Sau đó, chúng tôi sẽ nhận được
Trước khi chúng tôi cho phép nhấp, hãy nhấp vào nút Thông tin khác
Bây giờ, hãy cho phép cookie bằng cách nhấn nút Allow Cookie. Sau đó, chúng tôi nhận được một đầu ra
Chạy lại bằng cách làm mới nó. Chúng tôi nhận được thông báo nói rằng chúng tôi đã được truy cập lần thứ 2
Khi trang tải, giá trị của biến visit_count tăng lên một. Tên và giá trị của biến này được lưu trữ trong tệp được liên kết trong thư mục tạm thời trên máy chủ. Mỗi khi trang được tải lại, giá trị được lấy từ tệp, sau đó tăng lên và giá trị cập nhật được lưu trữ
Ví dụ minh họa cách sử dụng cookie PHPSESSID để lưu trữ ID duy nhất theo yêu cầu của quy trình phiên. Điều này có vẻ là dư thừa. lưu trữ và truy xuất dữ liệu
Tuy nhiên, có một cách khác để làm cho ID có thể truy cập được trên toàn bộ trang web mà không yêu cầu trình duyệt chấp nhận cookie. Phương pháp này nối ID vào URL trong mỗi siêu liên kết đến các trang khác trên trang web đó