2013-03-23 62 views
1

我正在使用Symfony2,但這可能只是一個PHP問題。每個用戶在PHP/Symfony2中的兩個會話

  1. 根據我的理解(請糾正如果我錯了)如果我設置會話cookie,以確保再餅乾只拿到安全連接發送。因此,在非安全連接上,服務器實際上根據用戶訪問記錄了任何內容。我只想確認我對此的理解。

  2. 是否有可能擁有兩個會話cookie?一種用於存儲不安全的會話數據的所有協議(例如,不是用戶身份驗證/登錄),第二個會話僅用於安全並處理登錄授權。

    我知道我可以設置一個奇怪的非安全事物的本地cookie,但我真的希望能夠使用$ _SESSION兩次(一次爲所有,一次爲https)。

    我覺得使用安全cookie對用戶認證/登錄至關重要,但我也希望能夠在非安全頁面上進行某種形式的會話。

  3. 是否Symfony2做任何特別的任何事情?我知道它通過它的內置類來處理會話,但是它在使用安全cookie方面做了什麼特別的工作?

回答

2

對於(1) - 是的,你是正確的

對於(2) - 你可以有2個獨立的$ _SESSION(擔保和無擔保的)通過傳遞的SessionID在查詢中相互通信字符串(可能帶有一些散列保護以避免頑皮的用戶)。一些更多的信息在這裏Session lost when switching from HTTP to HTTPS in PHPSwitching between HTTP and HTTPS pages with secure session-cookie

如線程建議,如果可能的話,你也可以讓你的生活更輕鬆,考慮到讓你的頁面HTTPS

對於(3) - 我不是專家Symfony2,但快速瀏覽文檔,它沒有任何特定的工具供您在這種情況下使用,除了支持設置,如果你想你的cookie安全或不