2012-01-04 121 views
0

我已經創建了一個應用程序,並且正在嘗試將cookie從一個傳遞到另一個應用程序,該應用程序在apache中的兩個不同端口中工作。 (像80中的application1和8080中的Application2一樣)。在php中跨瀏覽器cookie。在不同瀏覽器之間傳遞Cookie

工作正常,但是,當我在不同的瀏覽器中打開相同的應用程序時,Cookie不會顯示在Application2中。只有當我在同一瀏覽器中打開應用程序時,它纔是正確的。

我錯過了什麼?

+1

瀏覽器是獨立應用程序,它們保持它們儘可能安全和私密。 – 2012-01-04 07:13:14

回答

6

Cookie是從網絡服務器發送到瀏覽器的HTTP標頭。然後,瀏覽器根據爲此cookie定義的參數將所述頭部的內容存儲在磁盤或內存中。瀏覽器之間不共享Cookie。

HTTP Cookie on Wikipedia

0

您不能設置跨瀏覽器的cookie,Cookie通常是在特定的瀏覽器在服務器端設置爲不。

你可以做的一件事是IP跟蹤,意味着你開始在你的服務器上存儲IP,並且來自不同瀏覽器的相同調用來自你在該瀏覽器中從服務器設置cookie。

1

Cookie不在瀏覽器之間共享。你必須依靠數據庫/會話ID或工具,比如這一個:

http://www.ts0.com/crosscookie/example.html

乾杯

+0

當我在網上搜索我有東西作爲存儲Flash對象使用明..是使用第三方工具的其他解決方案。 2.會話在我的應用程序中會有風險,因爲一個是Php,另一個是不同的域中的asp.net。請讓我知道....... – SVC 2012-01-04 08:16:36

+0

我鏈接到的工具是使用swf對象,所以這將是相同的方法。 – Alasjo 2012-01-04 08:18:49

+0

此示例不適用於fedora15。只能在windows中工作。 – SVC 2012-01-04 08:32:19

-2

嘗試使用服務器端的cookie少一個!可能會有一些幫助

-1

您可以使用會話標識符並將cookie值存儲在服務器上。

應用1 /瀏覽器1 - http://blabla/lele.php?cookieid=euueury576edhdhrtrtrt

Store中的cookie信息到SQL

Cookie id | Cookie info (serialized) 
euueury576edhdhrtrtrt | ...... 

應用1 /瀏覽器2 - http://blabla/lele.php?cookieid=euueury576edhdhrtrtrt 在這裏,你可以提取來自服務器的cookie信息和設置新的瀏覽器。

使用類似的方案,你也可以更新瀏覽器之間的cookie。