Tôi cần đặt cookie hết hạn sau 1 giờ sử dụng chức năng setcookie PHP. Múi giờ trên máy chủ của tôi được đặt thành GMT. Tôi nên đặt ngày hết hạn của cookie như thế nào để làm cho nó hoạt động trên các múi giờ trình duyệt của khách hàng khác nhau?Múi giờ của cookie được lưu trữ ở phía khách hàng là gì?
Trả lời
gần như tôi có thể nói nó không quan trọng thời gian của khách hàng là gì. PHP đặt thời gian hết hạn dựa trên mã thời gian unix. Bất kỳ biến thể nào trong thời gian đó phải nằm cùng với máy chủ.
Dưới đây là đoạn trích từ PHP manual cho setcookie():
hết hạn:
Hiện cookie hết hạn. Đây là một dấu thời gian Unix vì vậy là trong số giây kể từ thời đại. Nói cách khác, bạn có nhiều khả năng là đặt cài đặt này với hàm time() cộng với số giây trước bạn muốn nó hết hạn. Hoặc bạn có thể sử dụng mktime(). time() + 60 * 60 * 24 * 30 sẽ đặt cookie hết hạn sau 30 ngày. Nếu được đặt thành 0 hoặc bị bỏ qua, cookie sẽ hết hạn vào cuối phiên (khi trình duyệt đóng).
Giả sử bạn sử dụng cookie được đặt.
Tôi có thể sai nhưng tôi nghĩ rằng:
Bạn cung cấp các thông số hết hạn như một dấu thời gian Unix, và bạn tính toán dấu thời gian như "trong một giờ", vì vậy bạn muốn cookie hết hạn trong một giờ. Vì vậy, không quan tâm về múi giờ vì dấu thời gian unix là rõ ràng.
Sau đó, nhiệm vụ của trình duyệt là để dịch các dấu thời gian unix trong một ngày dựa trên các thiết lập bowser (miền địa phương, ngôn ngữ và vân vân)
setcookie() chức năng của PHP chấp nhận một số nguyên tương ứng với một giá trị timestamp Unix. Nếu cookie của bạn nên có thời gian sống 1 giờ, bạn chỉ có thể sử dụng thời gian() + 3600 cho giá trị đó. PHP sau đó sẽ tạo một cookie với thời gian hết hạn như "hết hạn = Thứ Sáu, 3 tháng 8 năm 2001 20:47:11 UTC". Đó là trong UTC (GMT), do đó bạn không phải lo lắng về múi giờ của trình duyệt của khách hàng
- 1. Hiển thị ngày/giờ trong múi giờ của người dùng - về phía khách hàng
- 2. Đăng nhập của Khách hàng - cách lưu trữ thông tin đăng nhập an toàn ở phía khách hàng?
- 3. cách phát hiện múi giờ của khách hàng?
- 4. Cookie của UIWebView được lưu trữ ở đâu?
- 5. Cách lưu tệp ở phía máy khách bằng JavaScript?
- 6. Khách hàng hỗ trợ múi giờ bên trong GWT
- 7. Loại dữ liệu thích hợp để lưu trữ múi giờ là gì?
- 8. Báo cáo chuẩn bị phía khách hàng là gì?
- 9. Nhận múi giờ của khách hàng (không phải số tiền bù giờ GMT) trong JS
- 10. Cách nhận khách hàng Múi giờ trong JavaScript?
- 11. Cookie chỉ dành cho khách hàng
- 12. Lưu trữ người dùng Tùy chọn múi giờ
- 13. Cookie chỉ dành cho khách hàng - cookie không bao giờ truy cập vào máy chủ
- 14. Lưu trữ Utc và giờ địa phương ở Mongo
- 15. Tại sao tôi không thể nhận được 'sessionid' ở phía khách hàng?
- 16. PHP & MySQL: Chuyển đổi TIMESTAMP được lưu trữ thành múi giờ địa phương của người dùng
- 17. PHP ini date.timezone? Máy chủ hoặc múi giờ vị trí của khách hàng?
- 18. Dữ liệu đặt hàng Magento được lưu trữ ở đâu?
- 19. Cách tốt nhất để sử dụng dữ liệu bộ nhớ đệm trong js ở phía khách hàng là gì?
- 20. Lợi thế của kiến trúc web phía khách hàng của Gmail là gì?
- 21. javascript thư viện để lưu trữ phía khách hàng với đồng bộ hóa máy chủ bên
- 22. Các khung để lưu trữ phía máy khách dữ liệu
- 23. Nội dung thư hàng đợi được lưu trữ ở đâu?
- 24. xác thực thông thạo khi ở phía khách hàng
- 25. Xác thực phía khách hàng của Grails
- 26. Cassandra - tải phía khách hàng cân
- 27. TempData được lưu trữ ở đâu?
- 28. Những nhược điểm của phân tích Markdown ủy nhiệm cho phía khách hàng là gì?
- 29. Làm cách nào để tạo tệp để lưu trữ ở phía máy khách bằng JavaScript?
- 30. Android: Cách lưu trữ cookie?
@DonCallisto ông có thể không có câu trả lời mà ông cần cho hầu hết các câu hỏi của mình. – noob
Cảm ơn mọi người, cả hai nhận xét đều hữu ích. Thật vậy, tôi không có câu trả lời tôi cần, nhưng rất tốt để nhớ về nó. – Karol
Bạn có thể tìm thấy ['$ cookie-> setExpiryTime ($ expiryTime)'] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L80) hoặc ['$ cookie-> setMaxAge ($ maxAge) '] (https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L92) hữu ích, như được tìm thấy trong [thư viện độc lập này] (https://github.com/delight-im/PHP-Cookie). – caw