Phiên và cookie hoạt động như thế nào trong PHP?

Khi bạn làm việc với một ứng dụng, bạn mở ứng dụng đó, thực hiện một số thay đổi rồi đóng ứng dụng đó. Điều này giống như một Phiên. Máy tính biết bạn là ai. Nó biết khi nào bạn bắt đầu ứng dụng và khi nào bạn kết thúc. Nhưng trên internet có một vấn đề. máy chủ web không biết bạn là ai hoặc bạn làm gì vì địa chỉ HTTP không duy trì trạng thái

Biến phiên giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng sẽ được sử dụng trên nhiều trang (e. g. tên người dùng, màu sắc yêu thích, v.v.). Theo mặc định, các biến phiên kéo dài cho đến khi người dùng đóng trình duyệt

Cho nên;

Mẹo. Nếu bạn cần lưu trữ vĩnh viễn, bạn có thể muốn lưu trữ dữ liệu trong cơ sở dữ liệu


Bắt đầu một phiên PHP

Một phiên được bắt đầu với chức năng session_start()

Các biến phiên được đặt với biến toàn cục PHP. $_SESSION

Bây giờ, hãy tạo một trang mới có tên "demo_session1. php". Trong trang này, chúng tôi bắt đầu một phiên PHP mới và đặt một số biến phiên

Ví dụ

// Bắt đầu phiên
session_start();
?>


// Đặt biến phiên
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat . ";
echo "Session variables are set.";
?>


Chạy ví dụ »

Ghi chú. Hàm session_start() phải là thứ đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML nào



Nhận các giá trị biến phiên PHP

Tiếp theo, chúng tôi tạo một trang khác có tên "demo_session2. php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên mà chúng tôi đã đặt trên trang đầu tiên ("demo_session1. php")

Lưu ý rằng các biến phiên không được chuyển riêng lẻ cho từng trang mới, thay vào đó chúng được truy xuất từ ​​phiên mà chúng tôi mở ở đầu mỗi trang (_______0)

Cũng lưu ý rằng tất cả các giá trị biến phiên được lưu trữ trong biến $_SESSION toàn cầu

Ví dụ

session_start();
?>


// Echo các biến phiên đã được đặt ở trang trước
echo "Favorite color is ". $_SESSION["màu yêu thích"]. ".
";
echo "Con vật yêu thích là ". $_SESSION["favanimal"]. ". ";
?>


Chạy ví dụ »

Một cách khác để hiển thị tất cả các giá trị biến phiên cho phiên người dùng là chạy đoạn mã sau

Ví dụ

session_start();
?>


print_r($_SESSION);
?>


Chạy ví dụ »

Làm thế nào nó hoạt động?

Hầu hết các phiên đặt khóa người dùng trên máy tính của người dùng trông giống như thế này. 765487cf34ert8dede5a562e4f3a7e12. Sau đó, khi một phiên được mở trên một trang khác, nó sẽ quét máy tính để tìm khóa người dùng. Nếu khớp thì truy cập phiên đó, nếu không thì bắt đầu phiên mới

Cookie được phát minh lần đầu tiên vào năm 1994 bởi một lập trình viên máy tính tên là Lou Montulli. Không có chúng, web sẽ là một nơi hoàn toàn khác. Cho dù bạn đăng nhập vào back-end của trang web WordPress hay đóng cửa sổ bật lên gây phiền nhiễu, bạn sử dụng và tương tác với cookie mỗi ngày (ngay cả khi bạn không nhận ra điều đó)

Đến đây, có lẽ bạn đã đoán được rằng khi chúng tôi đề cập đến cookie, chúng tôi muốn nói đến những cookie được sử dụng để lưu trữ thông tin quan trọng của khách truy cập trên một trang web, chứ không phải loại bánh quy sô cô la ngon tuyệt. 🍪

Hôm nay chúng ta sẽ đi sâu vào chủ đề đôi khi khó hiểu về cookie và phiên PHP. Cụ thể, mọi thứ bạn cần biết về cách WordPress sử dụng chúng, cùng với một số vấn đề phổ biến mà bạn nên biết (đặc biệt là với tư cách là nhà phát triển) khi lưu trữ trang web, mã tùy chỉnh hoặc sử dụng plugin của bên thứ ba. Theo ý kiến ​​của chúng tôi, chủ đề này không được thảo luận đủ

Cookie (còn được gọi là cookie web, cookie theo dõi, cookie HTTP, cookie trình duyệt) là một phần dữ liệu nhỏ được lưu trữ bởi trình duyệt của người dùng (Chrome, Firefox, v.v. ) khi họ truy cập một trang web. Nó chứa thông tin liên quan đến hoạt động duyệt web và thường được sử dụng để cá nhân hóa trải nghiệm của người dùng hoặc cho mục đích xác thực và xác minh. Cookie phiên và cookie liên tục là các loại cookie phổ biến

Hỗ trợ

Có hai loại cookie khác nhau thường được đặt. cookie phiên và cookie liên tục

Cookie phiên, còn được gọi là cookie tạm thời, là tạm thời. Chúng không đính kèm ngày hết hạn và chỉ lưu trữ thông tin về những gì người dùng thực hiện trong một phiên duy nhất. Phiên chỉ đơn giản là một giá trị được tạo ngẫu nhiên/duy nhất được chỉ định khi ai đó truy cập trang web. Cookie phiên được lưu trữ tạm thời trong bộ nhớ và tự động bị xóa khi đóng trình duyệt hoặc phiên kết thúc

Cách đọc được đề nghị. Cách cải thiện giới hạn bộ nhớ PHP trong WordPress

Như bạn có thể đoán, cookie liên tục là những cookie có ngày hết hạn. Những thứ này tồn tại lâu hơn nhiều và được lưu trữ trên đĩa cho đến khi chúng hết hạn hoặc được người dùng xóa theo cách thủ công. Đôi khi chúng còn được gọi là “cookie theo dõi”, vì đây là những loại cookie mà Google Analytics, AdRoll, Stripe, v.v. tất cả sử dụng

Chương trình liên kết Kinsta của chúng tôi là một ví dụ khác. Cookie 60 ngày được đặt trong trình duyệt của người dùng khi họ nhấp vào liên kết liên kết. Điều này đảm bảo rằng người giới thiệu nhận được tín dụng phù hợp, ngay cả khi người đó đã đóng và mở lại trình duyệt của họ nhiều lần

Khi chúng tôi đề cập đến lõi WordPress, chúng tôi chỉ muốn nói đến các tệp tạo nên dự án nguồn mở, trước khi cài đặt bất kỳ plugin hoặc chủ đề của bên thứ ba nào. Đó là WordPress ở trạng thái tự nhiên như chúng tôi muốn gọi nó

Bây giờ bạn đã biết những điều cơ bản về cookie là gì và các loại khác nhau, hãy xem lý do và cách lõi WordPress sử dụng chúng để biến tất cả điều kỳ diệu đó xảy ra đằng sau hậu trường. Sự thật thú vị. Cookie ban đầu được bắt nguồn từ thuật ngữ “. ”

Lõi WordPress sử dụng cookie cho hai mục đích khác nhau

Cookie đăng nhập chứa chi tiết xác thực và được sử dụng khi người dùng đăng nhập vào trang tổng quan quản trị WordPress. Theo WordPress Codex, một vài cookie phiên khác nhau được đặt

  • Khi đăng nhập, WordPress sử dụng cookie wordpress_[hash] để lưu trữ chi tiết xác thực (giới hạn trong khu vực /wp-admin/)
  • Sau khi đăng nhập, WordPress đặt cookie wordpress_logged_in_[hash]. Điều này cho biết khi bạn đăng nhập và bạn là ai

Khi bạn cố truy cập vào back-end của trang web WordPress của mình, quá trình kiểm tra sẽ được thực hiện để xem liệu hai cookie ở trên có tồn tại và chưa hết hạn hay không. Đây là thứ cho phép bạn bỏ qua màn hình wp-login.php một cách kỳ diệu. 😉

WordPress cũng đặt _______ cookie. ID là ID người dùng của bạn từ bảng cơ sở dữ liệu người dùng WordPress. Điều này lưu trữ cài đặt giao diện quản trị và bảng điều khiển cá nhân

Theo mặc định, có các cookie được đặt khi ai đó nhận xét về một bài đăng trên blog (hết hạn là 347 ngày). Điều này là để nếu họ quay lại sau, họ không phải điền lại tất cả thông tin. Ba cookie sau được lưu trữ

  • ________số 8
  • comment_author_email_[hash]
  • session_start()0

Tuy nhiên, với những thay đổi chính sách quyền riêng tư gần đây do GDPR, lõi WordPress đã giới thiệu các công cụ mới để đảm bảo bạn cho phép người dùng chọn tham gia đặt các cookie này. Cài đặt này, nếu chưa được đặt, có thể được bật trong “Cài đặt → Thảo luận” trong bảng điều khiển quản trị viên WordPress của bạn. Chọn tùy chọn để “Hiển thị hộp kiểm chọn tham gia cookie nhận xét. ” Plugin Akismet phổ biến cũng cho phép bạn hiển thị thông báo về quyền riêng tư

Phiên và cookie hoạt động như thế nào trong PHP?
cách nhận xét cookie chọn tham gia

Giống như WordPress sử dụng cookie cho một số chức năng nhất định, plugin và chủ đề của bên thứ ba mà bạn cài đặt cũng đặt cookie. Hầu hết trong số họ sử dụng kết hợp cookie của trình duyệt và các hàng cơ sở dữ liệu được lưu trữ trong bảng session_start()1 hoặc bảng tùy chỉnh của riêng họ. Điều này là do WordPress không trạng thái

Ứng dụng không trạng thái là một chương trình ứng dụng không lưu dữ liệu máy khách được tạo trong một phiên để sử dụng trong phiên tiếp theo với máy khách đó. Mỗi phiên được thực hiện như thể đó là lần đầu tiên và phản hồi không phụ thuộc vào dữ liệu từ phiên trước đó. – TechTarget

Với các luật mới về quyền riêng tư, điều quan trọng hơn bao giờ hết là phải thực sự hiểu cookie nào đang được đặt và liệu chúng có cung cấp cách thức để khách truy cập của bạn chọn tham gia hay không. Mẹo. không phải tất cả cookie đều yêu cầu chọn tham gia. Đọc bài viết chuyên sâu của chúng tôi về GDPR để hiểu rõ hơn về các yêu cầu mới

Đây chỉ là một vài trong số rất nhiều ví dụ về mục đích sử dụng cookie

  • Nếu bạn có một hộp bật lên trên trang web WordPress của mình và khách truy cập đóng nó, điều này thường sẽ đặt một cookie để nó không quay trở lại
  • Các mặt hàng được thêm vào giỏ hàng trên trang web thương mại điện tử của bạn. Một cookie được lưu trữ để giỏ hàng giữ các sản phẩm của bạn trong khi bạn tiếp tục duyệt qua trang web
  • Các tính năng Định vị địa lý IP có thể lưu trữ địa chỉ IP và tọa độ vĩ độ/kinh độ của khách truy cập duyệt trang web. Điều này thường được sử dụng để hiển thị nội dung cụ thể cho một khu vực nhất định hoặc thậm chí có thể chuyển hướng người dùng đến một trang con khác
  • Theo dõi hoạt động qua các lần nhấp bằng công cụ rút ngắn liên kết như plugin PrettyLinks
  • Plugin bản tin có thể đặt cookie cho người dùng nếu họ đã đăng ký, điều này mang lại khả năng ẩn hoàn toàn hộp bản tin

Về cơ bản, bất kỳ hành động hoặc chọn tham gia nào trên trang web WordPress, thường sẽ liên quan đến việc đặt cookie trong trình duyệt phía sau hậu trường. Tất nhiên, mục tiêu của việc này là để thử và giúp cải thiện trải nghiệm trình duyệt hoặc cung cấp chức năng bổ sung thông qua xác minh

Dưới đây là mọi thứ bạn cần biết về WordPress và cookie. Và chúng tôi không có nghĩa là loại chip sô cô la ngon. 🍪Nhấp để Tweet

Các plugin thương mại điện tử như WooC Commerce thường có cookie bổ sung của riêng họ mà họ đặt để người mua có thể dễ dàng thêm mọi thứ vào giỏ hàng của họ, lưu trữ sau này khi họ thanh toán cũng như đăng nhập và đăng xuất khỏi tài khoản của họ

Để theo dõi dữ liệu giỏ hàng, WooC Commerce đặt ba cookie sau (không có thông tin cá nhân nào được lưu trữ trong cookie)

  • session_start()2
  • /wp-admin/0
  • /wp-admin/1

Hai cookie đầu tiên chứa thông tin về giỏ hàng và chỉ giúp WooC Commerce biết khi dữ liệu giỏ hàng thay đổi. Cookie thứ ba /wp-admin/1 chứa một mã duy nhất cho mỗi khách hàng tương ứng với một mục nhập trong bảng /wp-admin/3 tùy chỉnh trong cơ sở dữ liệu

Phiên và cookie hoạt động như thế nào trong PHP?
bảng wp_woocommerce_sessions

Dữ liệu /wp-admin/4 trước đây được lưu trữ trong bảng session_start()1, nhưng đã được chuyển sang bảng tùy chỉnh riêng trong WooC Commerce 2. 5 khi họ giới thiệu trình xử lý phiên mới. Điều này là để cải thiện hiệu suất, khả năng mở rộng và quản lý các phiên. Nếu không, bạn sẽ nhanh chóng kết thúc với một bảng wp_options cồng kềnh mà bạn phải dọn dẹp

Easy Digital Downloads theo mặc định sử dụng WP_Session, là sự kết hợp giữa cookie của trình duyệt và các hàng cơ sở dữ liệu được lưu trữ trong bảng session_start()1. Dưới đây là cookie nó đặt

  • /wp-admin/7

Khi nói đến bộ đệm WordPress, đây là lúc mọi thứ trở nên phức tạp. Bộ nhớ đệm về cơ bản là quá trình lưu trữ tài nguyên từ một yêu cầu và sử dụng lại các tài nguyên đó cho các yêu cầu tiếp theo. Về cơ bản, nó giảm số lượng công việc cần thiết để tạo một lượt xem trang. Mặc dù điều này rất tốt cho hiệu suất, nhưng nó lại gây ra sự cố khi nói đến cookie

Đăng kí để nhận thư mới

Bạn muốn biết làm thế nào chúng tôi tăng lưu lượng truy cập của mình hơn 1000%?

Tham gia cùng hơn 20.000 người khác nhận bản tin hàng tuần của chúng tôi với các mẹo nội bộ về WordPress

Tại sao? . Tuy nhiên, nếu một trang được cung cấp từ bộ đệm, cả PHP và cơ sở dữ liệu đều không làm gì cả, máy chủ chỉ cung cấp một bản sao tĩnh của trang

vậy, bạn có thể làm gì?

1. Sử dụng JavaScript

Tùy chọn đầu tiên sẽ là sử dụng JavaScript và cập nhật nội dung trên trang một cách linh hoạt. Về cơ bản, bạn có trình giữ chỗ HTML và sử dụng JavaScript để lấy thông tin qua lệnh gọi API hoặc ajax

Một ví dụ sẽ tải danh sách các bài đăng trong thanh bên của WordPress bằng cách sử dụng JavaScript để lấy danh sách các bài đăng trên wp-api và sau đó hiển thị chúng trong thanh bên. Trong trường hợp đó, bạn có thể cập nhật danh sách các bài đăng mà không xóa trang khỏi bộ đệm vì dữ liệu được tạo động

Tuy nhiên, đây không phải là lý tưởng, tốt hơn hết là nên lưu vào bộ đệm nếu có thể về mặt hiệu suất. Tuy nhiên, nếu bạn phải có một số nội dung duy trì ở trạng thái động trong khi bản thân trang có thể ở trạng thái tĩnh (được phân phát từ bộ nhớ đệm), thì đó là một cách để làm điều đó – hãy sử dụng JavaScript để tự động kéo nội dung của phần đó xuống trang thông qua API/ajax . Tuy nhiên, trừ khi bạn có thể thuê một nhà phát triển WordPress để xây dựng giải pháp JavaScript tùy chỉnh hoặc tiện ích mở rộng của plugin, tùy chọn này thường không thực tế

2. Sử dụng cuộc gọi quản trị-Ajax

/wp-admin/8 không thể được lưu vào bộ đệm, do đó bạn có thể sử dụng lệnh gọi admin-ajax. Một ví dụ điển hình về điều này là plugin No Cache AJAX Widgets. Nó thực hiện các cuộc gọi admin-ajax và do đó không phải lo lắng về việc xung đột với các giải pháp bộ nhớ đệm cấp độ máy chủ hoặc bên thứ ba

Tuy nhiên, giống như với JavaScript, việc đi theo con đường này thường không khả thi đối với người dùng bình thường. Điều này cũng có thể dẫn đến các vấn đề về hiệu suất khác, chẳng hạn như mức sử dụng ajax của quản trị viên cao và nhiều yêu cầu chưa được lưu trong bộ nhớ cache

Cần phải hét lên ở đây. Kinsta thật tuyệt vời, tôi sử dụng nó cho trang web cá nhân của mình. Hỗ trợ nhanh chóng và xuất sắc, và máy chủ của họ là nhanh nhất cho WordPress

Phiên và cookie hoạt động như thế nào trong PHP?
Phillip Stemann
Xem kế hoạch

Trừ khi bạn có thể đi xuống tuyến đường JavaScript hoặc quản trị viên-ajax, loại trừ các trang khỏi bộ nhớ đệm khi có một cookie cụ thể là cách tốt nhất để thực hiện. Đây thường là những gì chúng tôi khuyên dùng, đặc biệt là những trang chạy các trang web có tính năng động cao như WooC Commerce và Easy Digital Downloads

Tại Kinsta, một số trang Tải xuống kỹ thuật số dễ dàng và WooC Commerce nhất định như giỏ hàng, tài khoản của tôi và thanh toán sẽ tự động bị loại khỏi bộ nhớ đệm. Có một quy tắc cấp máy chủ để người dùng tự động bỏ qua bộ nhớ đệm khi phát hiện thấy cookie /wp-admin/0 hoặc /wp-admin/7 cookie để đảm bảo quy trình thanh toán diễn ra suôn sẻ và đồng bộ

Chúng tôi cũng lắng nghe các cookie đã đăng nhập được liên kết và đặt bộ đệm để bỏ qua khi chúng tôi phát hiện ra rằng ai đó đã đăng nhập vào WordPress. Việc ngăn không cho bảng điều khiển back-end vô tình được lưu vào bộ đệm

Theo mặc định, chúng tôi không loại trừ cookie /wp-admin/1 khỏi bộ nhớ đệm. Hầu hết các trang web WooC Commerce theo kinh nghiệm của chúng tôi không có bất kỳ sự cố nào. Điều này cũng cải thiện hiệu suất bằng cách tăng tỷ lệ HIT bộ đệm của bạn, đồng thời sử dụng ít công nhân PHP hơn

Tuy nhiên, do có nhiều cấu hình plugin và chủ đề WordPress khác nhau, chúng tôi có thể loại trừ cookie /wp-admin/1 khỏi bộ đệm nếu cần. Chỉ cần liên hệ với nhóm hỗ trợ của chúng tôi. Kết quả là khi người dùng thêm một sản phẩm vào giỏ hàng của họ, tất cả các yêu cầu tiếp theo sẽ không được phục vụ từ bộ đệm, làm tăng việc sử dụng công nhân PHP

Đấu tranh với thời gian chết và các vấn đề về WordPress? . Kiểm tra các tính năng của chúng tôi

Nếu bạn cần một trang tùy chỉnh được loại trừ khỏi bộ đệm, vui lòng mở một yêu cầu với nhóm hỗ trợ của chúng tôi. Một lần nữa, bạn phải cẩn thận khi loại trừ. Quá nhiều trang chưa được lưu trong bộ nhớ cache thực sự có thể làm giảm hiệu suất. Kiểm tra những điều nên làm và không nên làm khi lưu trữ các trang web thành viên WordPress

Thật dễ dàng để xem và xóa cookie trên một trang web. Để xem cookie nào được đặt trên một trang web cụ thể, hãy duyệt đến trang web đó và nhấp vào biểu tượng ổ khóa nhỏ ở trên cùng. Sau đó bấm vào “Cookies. ”

Phiên và cookie hoạt động như thế nào trong PHP?
Cookie đang sử dụng

Sau đó đi sâu vào thư mục của trang web đó. Trong ví dụ bên dưới, bạn có thể thấy rằng chúng tôi đã đặt một vài cookie WooC Commerce, cũng như cookie wordpress_logged_in_[hash]. Bạn cũng có thể xem thời gian hết hạn và đó là cookie liên tục hay cookie phiên (khi phiên duyệt web kết thúc)

Phiên và cookie hoạt động như thế nào trong PHP?
cookie WordPress

Để xóa cookie, chỉ cần nhấp vào từng cookie và nhấp vào nút "Xóa". Bạn cũng có thể thực hiện việc này ở cấp thư mục hoặc trong Chrome DevTools

Xóa cookie cũng có thể giúp bạn khắc phục lỗi 304

Ngoài ra, bạn có thể tìm kiếm hoặc xóa tất cả cookie trong trình duyệt của mình

GDPR là một luật mới về quyền riêng tư có hiệu lực vào ngày 25 tháng 5 năm 2018. Nó được thiết kế để cung cấp cho công dân quyền kiểm soát dữ liệu cá nhân của họ. Chúng tôi thực sự khuyên bạn nên đọc bài viết chuyên sâu của chúng tôi. hạ thấp mức độ tuân thủ GDPR nếu bạn chưa có. Đây là một chủ đề không thể tóm tắt trong một đoạn văn

Đây là ví dụ về một thay đổi mà chúng tôi đã thực hiện tại Kinsta để giúp tuân thủ luật mới. Khi bạn truy cập trang web của chúng tôi lần đầu tiên, bạn có thể đã nhìn thấy nó, bạn sẽ gặp lời nhắc “Chấp nhận cookie” ở cuối màn hình. Điều này là do chúng tôi hiện được yêu cầu về mặt pháp lý để cung cấp cho người dùng cách chọn tham gia và từ chối cookie được đặt. Đã qua rồi cái thời chỉ chạy bất cứ thứ gì bạn muốn mà không thông báo cho người dùng về việc thu thập dữ liệu

Phiên và cookie hoạt động như thế nào trong PHP?

Nếu bạn nhấp vào “Chấp nhận cookie”, thì tất cả cookie sẽ được đặt cho người dùng. Nếu bạn nhấp vào “Cài đặt cookie”, giờ đây chúng tôi cung cấp cách chọn tham gia và từ chối bất kỳ cookie nào bạn muốn

Phiên và cookie hoạt động như thế nào trong PHP?
Cài đặt cookie

Khá tiện lợi phải không? . Một lần nữa, cookie chỉ là một phần nhỏ để trở nên hoàn toàn tuân thủ GDPR

Phiên PHP

Các phiên PHP là một giải pháp thay thế cho cách tiếp cận cookie tiêu chuẩn. Nó vẫn là một cookie nhưng được gọi là PHPSESSID và thường được lưu trữ trong thư mục wordpress_logged_in_[hash]4 trên chính máy chủ web. Cách máy chủ biết để liên kết một phiên nhất định với một yêu cầu nhất định là nó cũng được lưu trữ trong cookie HTTP

Phiên và cookie hoạt động như thế nào trong PHP?
PHPSESSID HTTP cookie

Điều này cũng có thể được nhìn thấy dưới tiêu đề HTTP cho một trang web

Phiên và cookie hoạt động như thế nào trong PHP?
Tiêu đề HTTP đặt cookie PHPSESSID

Một phiên PHP giống như một phiên bình thường kết thúc khi người dùng đóng trình duyệt của họ

Tất cả các vấn đề với các phiên PHP đều bắt nguồn từ các vấn đề về hiệu năng và bộ nhớ đệm. Thông tin được lưu trữ trong cookie của trình duyệt phải bật lên bật lại theo từng yêu cầu để máy chủ biết người dùng là ai. Điều này có nghĩa là đối với các trang web sử dụng PHPSESSID, máy chủ lưu trữ sẽ phải đặt PHPSESSID để bỏ qua bộ đệm. Tuy nhiên, kết quả là PHPSESSID sẽ phải được đặt để bỏ qua 100% thời gian, bởi vì không giống như  wordpress_logged_in_[hash]5, PHPSESSID được đặt trên mọi yêu cầu PHP

Vì vậy, hãy tưởng tượng rằng wordpress_logged_in_[hash]5 phải được đặt 100% thời gian để cho phép chức năng đăng nhập hoạt động. Có nghĩa là ngay cả những người dùng đã đăng xuất cũng phải có cookie và cookie đó phải là duy nhất đối với họ. Hãy tưởng tượng điều đó là cần thiết để hệ thống đăng nhập WordPress hoạt động. Trong trường hợp đó, mọi lượt xem trang sẽ phải bỏ qua bộ đệm để cookie wordpress_logged_in_[hash]5 được đặt chính xác cho cả người dùng đã đăng nhập và đăng xuất

Đó là vấn đề với việc sử dụng PHPSESSID. Vì nó được tạo trên mỗi yêu cầu PHP nên nếu một trang web dựa vào cookie PHPSESSID thì máy chủ lưu trữ sẽ phải đặt PHPSESSID để bỏ qua bộ nhớ cache 100% thời gian. Nếu không, PHPSESSID cuối cùng sẽ được lưu vào bộ nhớ đệm và nó sẽ làm hỏng bất kỳ chức năng nào phụ thuộc vào nó

Chúng tôi khuyên bạn không nên sử dụng các phiên PHP và chúng thường sẽ không hoạt động trong môi trường Kinsta của chúng tôi. Phiên PHP cũng có ý nghĩa bảo mật khác cần được xem xét

Nếu bạn thấy mã sử dụng wordpress_logged_in_[hash]8 trên trang web của mình, điều này có nghĩa là mã đó sử dụng các phiên PHP

Nhiều nhà phát triển plugin và chủ đề đã chuyển sang sử dụng kết hợp cookie của trình duyệt và các hàng cơ sở dữ liệu (trong bảng session_start()1 hoặc bảng tùy chỉnh của riêng họ). Nếu bạn cần dữ liệu phiên thì đây là cách tiếp cận tốt hơn

Vui lòng liên hệ với nhóm hỗ trợ của chúng tôi nếu bạn có thêm câu hỏi liên quan đến các phiên PHP

Tóm lược

Hy vọng rằng, bây giờ bạn đã biết thêm một chút về cách hoạt động của cookie WordPress và phiên PHP so với trước đây. Cookie hiện là thứ khiến thế giới quay vòng và rất quan trọng đối với hầu hết mọi thứ xảy ra trên trang web WordPress. Từ việc giữ cho chúng tôi đăng nhập, đến đảm bảo trải nghiệm giỏ hàng suôn sẻ và thậm chí đảm bảo rằng cửa sổ bật lên vẫn đóng

Bạn có câu hỏi nào khác về cookie không?


Nhận tất cả các ứng dụng, cơ sở dữ liệu và trang web WordPress của bạn trực tuyến và dưới một mái nhà. Nền tảng đám mây hiệu suất cao, đầy đủ tính năng của chúng tôi bao gồm

  • Dễ dàng thiết lập và quản lý trong bảng điều khiển MyKinsta
  • Hỗ trợ chuyên gia 24/7
  • Mạng và phần cứng Google Cloud Platform tốt nhất, được cung cấp bởi Kubernetes để có khả năng mở rộng tối đa
  • Tích hợp Cloudflare cấp doanh nghiệp cho tốc độ và bảo mật
  • Tiếp cận đối tượng toàn cầu với tối đa 35 trung tâm dữ liệu và hơn 275 PoP trên toàn thế giới

Hãy tự kiểm tra với $20 trong tháng đầu tiên của Lưu trữ ứng dụng hoặc Lưu trữ cơ sở dữ liệu. Khám phá kế hoạch của chúng tôi hoặc nói chuyện với bộ phận bán hàng để tìm thấy sự phù hợp nhất của bạn

Cookie theo phiên cho phép trang web ghi nhớ người dùng trong một trang web khi họ di chuyển giữa các trang web . Những cookie này cho máy chủ biết những trang nào sẽ hiển thị cho người dùng để người dùng không phải nhớ nơi họ đã dừng lại hoặc bắt đầu điều hướng lại trang web. Do đó, không có cookie phiên, trang web không có bộ nhớ.
Phiên PHP . Trên mỗi yêu cầu trong tương lai, trình duyệt sẽ gửi ID phiên dưới dạng cookie và máy chủ sẽ định vị phiên tương ứng để cho phép truy cập vào dữ liệu người dùng được lưu trữ. Trong PHP, điều quan trọng là luôn luôn khởi tạo phiên sử dụng session_start() .

Phiên hoạt động như thế nào trong PHP?

Trình duyệt gửi yêu cầu đến máy chủ. PHP phản hồi bằng cách gửi một mã thông báo duy nhất xác định phiên hiện tại . Đây được gọi là ID phiên. Trong tất cả các yêu cầu tiếp theo, trình duyệt sẽ gửi ID phiên để nói: "Xin chào, lại là tôi đây. " Tất cả dữ liệu khác liên quan đến phiên được lưu trữ trên máy chủ web.
Sự khác biệt giữa Phiên và Cookie