我想用名稱設置cookie csrf_cookie_name使用此函數的值$ this-> security-> get_csrf_hash();但它不起作用。設置cookie在CodeIgniter中不起作用
我有這個在我的控制器:
$csrf_cookie_value = $this->security->get_csrf_hash();
$this->input->set_cookie('csrf_cookie_name', $csrf_cookie_value);
echo $this->input->cookie('csrf_cookie_name');
die();
但它無法正常工作,並沒有什麼呼應的。
如果我只嘗試這樣的:
$csrf_cookie_value = $this->security->get_csrf_hash();
echo $csrf_cookie_value;
我的作品和生成的字符串是呼應的。
所以,我認爲這些未來2行中的什麼是錯的:
$this->input->set_cookie('csrf_cookie_name', $csrf_cookie_value);
echo $this->input->cookie('csrf_cookie_name');
謝謝你的建議。
不太確定它是如何在PHP中工作的,但我的猜測是,當您嘗試閱讀cookie時,它正在從請求頭中讀取,顯然它不會出現,因爲請求時沒有設置cookie。 。檢查一次發送的響應是否在瀏覽器中設置cookie。進一步的請求應該正確地讀取cookie值..注意我可能是錯誤的.. – Baz1nga
我已經設置它$ this-> input-> set_cookie('csrf_cookie_name',$ csrf_cookie_value);在我試圖迴應它之前。 – Derfder
我知道你有..考慮閱讀有關Http請求和響應以及如何使用Cookie .. – Baz1nga