【发布时间】:2011-03-16 17:56:50
【问题描述】:
我有一种情况,当页面加载时,我会发送一些身份验证数据(在本例中为关联数组$data),这些数据由另一个域上的脚本验证。代码如下:
$cookie_path = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.mysite.com/verify');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
$result = curl_exec($ch);
站点然后设置一个会话(在这种情况下,我使用 codeigniter 框架,会话设置如下:$this->session->set_userdata('logged_in', true);)
但是,当我在 iframe 中加载外部站点时,它似乎无法检测到会话已设置并重定向到登录页面。
如何确保我的会话 cookie 被正确发送并且可以被 iframe 访问?
【问题讨论】:
-
如果 Joe Hacker 可以在您正在阅读“attackme.net”上的页面时在您的机器上为“yourbank.com”随机设置一个 cookie,那不是很好。想象一下,他可以为您的帐户带来多少乐趣。
标签: php session codeigniter cookies curl