Session lưu ở đâu

      222

Cookie vào PHP

Cookie là mẩu tin bé dại được lưu lại ở máy người tiêu dùng (cụ thể là tại Browser, trình duyệt), Cookie sử dụng với mục đích để theo dõi, giữ lại hoạt động truy cập. Ví dụ như nhớ tên người dùng truy cập vào website gồm thể hoạt động qua công việc như sau:

hệ thống gửi các cookie mang lại browser (ví dụ tên bạn dùng: username) ... Browser lưu lại lại tin tức này (cookie) Lần sau truy vấn URL thuộc domain (tên miền) browser sẽ gửi ngược các Cookie này lên Server và Server sẽ cảm nhận Cookie, tự đó xác minh được thông tin (như username) ...

Nên nhớ Cookie được gìn giữ ở Browser, sau đó mỗi lần giữ hộ yêu cầu đến hệ thống nó sẽ tự động hóa gửi thông tin này đến Server

Thiết lập, lưu lại Cookie

Từ PHP có thể tùy chỉnh Cookie bởi hàm setcookie (nhớ đề nghị gọi trước những dòng code xuất html).

Bạn đang xem: Session lưu ở đâu

setcookie($name, $value, $expire = 0, $path="", $domain = "", $security = false, $httponly = false); name là tên cookie, thương hiệu này được áp dụng để truy cập vào đổi mới $_COOKIE để đưa thông tin value quý hiếm gán mang lại cookie path đường dẫn mà cookie gồm hiệu lực. Thực hiện / cho thấy cookie có hiệu lực ở lever domain - hầu như URL ở trong domain, nếu thiết lập là /foo/ thì Cookie chỉ có hiệu lực hiện hành với những URL dạng /foo/ và các con của chính nó như /foo/abc/... Nếu như để quý hiếm mặc định "" thì có hiệu lực thực thi theo con đường dẫn bây giờ domain thương hiệu miền security = true nếu áp dụng HTTPS để truyền tài liệu (mặc định false) $httponly mặc định là false, trường hợp true thì chỉ được cho phép cookie với giao thức HTTP Ví dụ:

setcookie.php

Đoạn mã trên cấu hình thiết lập lưu Cookie với tên name, quý hiếm là XUANNTHULAB, quá hạn sau 10 phút (tức 600 giây)

Bạn có thể chạy lệnh

php -S 0.0.0.0:8080 setcookie.phpSau đó truy cập add http://localhost:8080 để kiểm tra, ví dụ cần sử dụng Chrome

*

Khi truy cập, phần header trả về có thông tin về cấu hình thiết lập Cookie, trái lại nếu đã tất cả Cookie lúc trìnhduyệt gửi yêu cầu - nó cấu hình thiết lập giá trị cookie vào phần header của request

Hoặc dùng lệnh curl để thấy header trả về:

*

Truy cập - phát âm - Cookie

chúng ta dùng vươn lên là $_COOKIE là 1 trong những mảng để truy cập thông tin cookie vì trình để mắt tới gửi lên. Hệt như Session bạn nên dùng isset() để kiểm soát sự lâu dài của COOKIE.

readcookie.php

Xóa Cookie

Để yêu ước trình chăm bẵm xóa cookie bạn thực hiện chính hàm setcookie cùng với thủ thuật đặt thời gian đã mất hạn. Ví dụ:

setcookie( "name", "", time()- 60, "/","", 0);

Khái niệm về Session

Để trao đổi tài liệu từ trang này qua trang không giống (giữa 2 request) thì làm như thế nào? lấy ví dụ như nếu người dùng đã đăng nhập, thì thông tin đăng nhập được bảo quản và chuyển cho những trang khác nhau trong phiên thao tác để tránh các lần gửi request lại buộc phải đăng nhập, hay người dùng chọn đựa mặt hàng vào giỏ hàng thì nên nhớ nhằm chuyển đến trang thanh toán giao dịch ... PHP bao gồm cơ chế để gia công việc này đó đó là SESSION

Session là thông tin về phiên thao tác cho từng khách hàng truy cập, vào PHP nó chế tạo một tệp tin trong thư mục nhất thời (thư mục này thiết đặt ở php.ini : session.save_path) để lưu thông tin này, tin tức này được sử dụng chung cho toàn bộ các trang nhưng khách truy hỏi cập. Mỗi khách truy cập, phụ thuộc thông tin trình duyệt trình lên nó sinh sản (hoặc phục hồi) một Session riêng đến khách đó.

Sự làm việc của Session rất có thể vắn tắt như sau:

khi khách lần đầu tiên truy cập, PHP tự động hóa tạo ra một định danh duy nhất cho khách đó, định danh này là 1 trong chuỗi bỗng nhiên - duy nhất. Nó là tham số để xác minh tên file tài liệu session. Một mẩu tin bé dại Cookie hotline là PHPSESSID (là ánh xạ đến định danh làm việc trên) sẽ tiến hành gửi cho trình chăm bẵm và trình duyệt bảo quản PHPSESSID này, để tiếp nối mỗi lần trình duyệt truy cập nó giữ hộ lại PHPSESSID mang đến PHP. PHP dựa vào PHPSESSID gửi mang lại để hồi sinh - lấy lại tài liệu từ tệp tin là tin tức của SESSION. Session bị bỏ - mất lúc trình coi ngó bị đóng góp lại, thường thì PHP cũng có thể có tham số ấn định thời hạn tồn tại của SESSION, ví dụ như 30 phút.

Như vậy SESSION là cơ chế lưu trữ và phục hồi thông tin mang đến phiên thao tác làm việc (truy cập) của khách, nhằm mục tiêu trao đổi thông tin khi chăm nom từ page này thanh lịch page khác. Để Session chuyển động thì còn tương quan tới cung ứng COOKIE từ trình duyệt. Lấy một ví dụ trong Chrome chúng ta block Cookie tự facebook, thì bạn không thể đăng nhập được facebook.

Xem thêm: Nâng Cấp Domain Controller Windows Server 2012, Hướng Dẫn Tạo Domain Controller

Chạy Session - lưu trữ và mang thông tin

Session vào PHP bắt đầu hoạt cồn sau khi chúng ta gọi hàm session_start(), hàm này sẽ hồi phục dữ liệu SESSION nếu sẽ có, nếu không nó sẽ tạo ra SESSION new cho bạn. Để thực hiện khuyên nên được gọi hàm này ngay lập tức khi bắt đầu của Page. Một bí quyết khác mà không cần để ý đến gọi session_start() kia là tùy chỉnh cấu hình cho PHP tự động hóa chạy hàm này bàng phương pháp session.auto_start = một trong php.ini

Khi mà hệ thống session vào PHP được chạy, mặc định nó đã gửi về trình duyệt một Cookie với tiền tố PHPSESSID,tất nhiên bao gồm thể biến hóa tiền tố này trong php.ini

Ví dụ trang test Session

startsession.php

Kiểm tra chúng ta thấy bao gồm Cookie giữ hộ về, cookie này dùng để làm phục hồi dữ liệu Session

*

Biến tổng thể $_SESSION: kiểu mảng là chỗ SESSION lưu lại trữ tin tức - cũng chính là dữ liệu hồi sinh được giữa các trang, bạn truy vấn biến này nhìn trong suốt vòng đời của session nhằm lấy, tàng trữ thông tin. Bạn cũng yêu cầu dùng hàm isset() để bình chọn một biến chuyển session nào đó đã có xuất xắc chưa. Ví dụ sau sử dụng SESSION để đếm số lần một khách truy vấn vào website.

Ví dụ đếm lượng truy cập trang của một khách

countaccess.php

Bạn là vào truy vấn ". $_SESSION<'counter'> . ' lần vào trang

'; echo $msg;?>

Bạn là vào truy vấn 1 lần vào trangTrong đoạn code trên có thực hiện if (session_id() === "") để khám nghiệm xem Session có tồn tại tuyệt chưa, nếu bao gồm rồi mà các bạn gọi session_start() rất có thể PHP sẽ chú ý lỗi Warning

Khi có chạy Session thì tài liệu trả về đến trình phê duyệt nó giữ hộ kèm một mẩu tin nhỏ ở phần Header,dữ liệu này là Cookie tương quan đến ID của Session, nhằm request trình chú ý lưu trữ, request tiếp theonó đã gửi dữ liệu này đến Server với PHP sẽ hồi phục Session theo Cookie này.

Hủy Session

Bạn có thể hủy một biến, cực hiếm ... Sẽ lưu vào Session:

Để bỏ một thay đổi nào đó tàng trữ trong Session thì dùng lệnh unset ví dụ unset($_SESSION<"counter">); Để hủy cục bộ Session thì cần sử dụng lệnh session_destroy()

Từ nắm rõ Cookie với Session là đại lý để sản xuất lên các hệ thống như đến phépuser singin vào website, xây dựng vận dụng giỏ hàng mua hàng ...

hotlive