我想用名称设置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