2010-06-10 7 views
5

Howdy, có một chút rắc rối ở đây. Tôi có domain.co.uk thiết lập một phiên. Khi tôi nhấp vào một liên kết trên domain.co.uk để đi đến sub.domain.co.uk phiên không được đọc.tên miền -> tên miền phụ - chuyển dữ liệu phiên

Tôi đã thay đổi session.cookie_domain thành .domain.co.uk nhưng vẫn không hoạt động. Có điều gì khác cần thay đổi không?

Trân trọng, tôi.

+0

Hai miền được xử lý bởi cùng một codebase PHP? –

+0

Đã có cùng một vấn đề, tìm thấy câu trả lời này để làm việc cho tôi: [Phiên PHP trên các tên miền phụ] (http://stackoverflow.com/a/1457582/826668) – Kyle

+0

Bạn nên xem: http: // stackoverflow. com/questions/1064243/php-sessions-over-sub-domains – Lizard

Trả lời

0

Thông tin về ID phiên được lưu trữ trong cookie. tên miền phụ không thể đọc cookie nếu được đặt theo tên miền chính. Xem thông tin về hàm session_name & setcookie và session_id() php. Hoặc lưu trữ id phiên ở một nơi khác (ví dụ: cơ sở dữ liệu mysql) P.S .: Xin lỗi vì tiếng anh của tôi.

0

Tôi đồng ý với GOsha,

Tôi làm tất cả chuyển giao phiên của mình bằng cách gửi dữ liệu biểu mẫu hoặc lưu trữ trong SQL. Sau đó tạo lại phiên của bạn trong môi trường miền mới.

Tôi không chắc chắn 100% nếu có cách nào dễ dàng hơn?

Không chắc liệu điều đó có hữu ích hay không.

Shane

+0

Vượt qua nó dưới dạng dữ liệu biểu mẫu yêu cầu nó phải được chuyển qua SSL, nếu không thì có thể thực hiện một cuộc tấn công phiên, trừ khi nó được mã hóa và mã hóa vv .. – grandnasty

1

trong htacces bạn nộp

php_value session.cookie_domain ".domain.co.uk" 

và bạn đã hoàn tất

0

phiên dữ liệu được lưu trữ trong một cookie và nếu trên google.com miền của bạn sau đó chỉ google miền .com có ​​thể truy cập dữ liệu phiên cookie như tên người dùng hoặc ID phiên.

dev.google.com không thể truy cập cookie cho google.com và điều này có nghĩa là người dùng đăng nhập vào google.com sẽ không được đăng nhập khi họ truy cập vào dev.google.com. Đó là trừ khi có một số cơ chế như chuyển ID phiên trong chuỗi truy vấn thành dev.google.com.

0

Mã đơn giản này sẽ giúp bạn rất nhiều, chỉ cần dùng thử.nó sẽ hoạt động 100%.

<?php 
session_set_cookie_params(0, '/', '.domain.co.uk'); 
session_start(); 
?>