2010-08-03 41 views
1

我有一個在線服務工具,用戶註冊並使用它。如何一次爲單個頁面保留兩個會話?

我已經爲此服務管理控制面板。有時,當用戶告訴我們有關數據和可用性的一些奇怪的事情,我們需要檢查他們,如果他們登錄...

所以我決定在管理面板中有一個頁面作爲「登錄爲xx用戶」 xx是我們服務的用戶..

我通過簡單地爲特定用戶帳戶設置會話變量並繞過登錄選項來完成它。當我完成測試後,我註銷並再次以管理員身份登錄以執行其他活動。 。

但現在我需要不註銷,然後登錄,每次我登錄爲不同的用戶後管理員..

我是否可以爲單個頁面/服務同時設置兩個同時進行的會話?

(即)在瀏覽器的一個選項卡中,我擔任管理員,在其他選項卡中,我將充當用戶?

任何想法..

我記得「已經利用他們看到PHPBB ......

+0

作爲管理員,我也有一個帳戶,就像普通用戶..除了我有一個管理面板,我可以登錄和操作。因此,管理員也需要爲普通用戶設置的會話變量。 – Vijay 2010-08-03 11:54:05

回答

1

會議是有點兒全球可用的陣列,可以單獨前端和後端會話是這樣的:

<?php 

    $_SESSION['frontend']['logged_id'] = true; 
    $_SESSION['backend']['logged_id'] = false; 

?> 

你的腳本可以幫助我給你更詳細的示例代碼。

更新

  1. 添加前綴到您設定的會話。就像這樣:$_SESSION['my_CID'] = $cid;
  2. 你必須深入到後端/管理員密碼並找到註銷行爲發生。
  3. 這個動作可以殺死整個會話是這樣的:session_destroy()unset($_SESSION);
  4. 使用下面的代碼不會殺死前綴會話。

下面的代碼:

<?php 
    foreach ($_SESSION as $key => $value) 
    { 
     if (substr($key, 0, 3) == 'my_') 
     { 
      continue; 
     } 
     unset($_SESSION[$key]); 
    } 
?> 
+0

用戶登錄後,會根據用戶帳戶詳細信息設置很多會話變量。這些會話數據在整個服務中使用。我的示例會話變量將如下所示。$ _ SESSION ['CID'] =「$ cid」; \t \t \t $ _SESSION ['CURRENCY'] =「$ cur」; \t \t \t \t \t \t $ _SESSION ['HRS'] =「passed」; $ _SESSION ['EMA'] =「$ email」; 甚至爲管理員設置這些變量 – Vijay 2010-08-03 11:35:49

+0

請參閱我的更新答案。 – Otar 2010-08-03 11:58:31

0

你所與推理求是雜牌,基本上是這樣。

你需要的是一個強大的解決方案,併爲我提出這樣一個方案:保持會話變量:

  • real_user_name
  • real_login_time
  • virtual_user_name
  • virtual_login_time

所以當管理員想要以你設定的最後兩個人的身份登錄時。你的安全通常應該檢查最後兩個。訪問管理頁面應該基於前兩個。

0

我不知道這是否是對您的問題有用的解決方案,但是如果您使用firefox,則可以使用兩個不同的配置文件啓動瀏覽器兩次。您不會將應用程序放在同一個標​​籤中,但至少您擁有使用不同會話的相同瀏覽器。如果您複製舊的配置文件,您應該也可以擁有相同的歷史記錄和插件。

如果您決定這樣做,您將不得不使用「-P -no-remote」作爲firefox可執行文件的附加參數。

0

我想可能有兩個解決方案:

  • 首先,如果你有管理和服務,因爲它們會管理每一個的會議上兩個不同的應用。如果您的服務不是以這種方式設計的,或者如果更改將具有很高的成本,那麼它不是一個很好的選擇。

  • 第二和首選,你可以在會話對象中設置兩個對象,一個用於管理員,另一個用於服務。

0

你不能有兩個單獨的會話,但你可以在用戶會話中添加一些額外的變量,告訴你以admin身份登錄。

0

幾個想法:

  • 使用兩種不同的瀏覽器
  • 從兩個不同的(虛擬)機連接
  • 使用類似CookiePie允許每個標籤
  • 不同的Cookie連接一個實例通過代理
  • 如果可以的話,通過兩個不同的域託管相同的Web應用程序,併爲每個會話使用一個
  • 使用主機文件以提供額外的域名
  • 如果會話是通過URL來代替餅乾傳播,那麼這自然會工作,但它有各種討厭的可用性和安全性的後果
0

由於在之前的文章中提到,你可以使用Cookpie的Firefox插件,在每個瀏覽器選項卡中有兩個獨立的身份標識 - 但是這個擴展名不適用於firefox 4 - (他們說他們正在開發它......)一個叫做Multifox的更新的類似擴展,可以在Firefox 4中工作。你可以試試。

相關問題