由於我們的支付系統,我們必須使用第三方網站上的某種中繼系統來擁有有效的PCI(HTTPS)。CodeIgniter會話ID改變而不起作用
我們目前正面臨一個奇怪的錯誤,我們現在使用了太多小時。
我們在註冊中有4個步驟。
- 輸入所有數據。
- 添加圖像
- 付款
這是我們如何做到: 在步驟1中,我們所有的POST數據保存到會話 $this->session->set_userdata("campaigncreation", $out);
沒錯$出包含所有數據。
在步驟中,我們可以輕鬆打印出campaign campaign的會話數據; <?print_r($this->session->userdata)?>
因爲我們需要轉到另一個網站,所以我們將session_id添加到我們的通話中,以便將會話保留在第三方網站上。
正如你看到的,我們需要在URL中的session_id(<?=$this->session->userdata("session_id")?>
),並在我們的控制我們,因爲這與替換會話ID控制器:
$ phpsess是「a1264526031adb9c71ae433eef44bfa0
」
if (!empty($phpsess)){
$this->session->set_userdata("session_id",$phpsess);
}
當我們現在打印出我們得到正確SESSION_ID用戶數據,但它不與我們從第1步在一些取數據 怎麼樣。什麼做?
我只得到
Array
(
[session_id] => a1264526031adb9c71ae433eef44bfa0
[ip_address] => 87.54.46.121
[user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36
[last_activity] => 1383052142
[user_data] =>
[advertiser_id] => 1
[advertiser_name] => xxxx
)
但在某些方面它仍然有ADVERTISER_ID和ADVERTISER_NAME正確的數據,所以這是完全奇怪。
怎麼辦?
這就像codeigniter刷新每個頁面加載的session_id,因此會有問題。
或者也許是因爲域cookie設置?我不知道,請幫助我們。
如果我明白你在這裏做什麼,我認爲與會話有關的安全設置不會被允許w跨站點傳輸數據。你應該使用一些Web服務,例如。寧靜。 –