【发布时间】:2010-07-02 15:35:01
【问题描述】:
我有一个基于 PHP 的网站,我想在其中添加一个会员专区。我不想创建自己的注册/登录页面,而是想编写一段代码来查看用户是否登录了特定站点(为简单起见,我们可以假设该站点是 Facebook),如果是,允许他在我的网站上导航。如果不是,请告诉他登录该网站,然后再回来。
我想通过让我的网站在该网站上打开一个页面来实现这一点,如果用户已登录,则该页面有一个欢迎屏幕,否则需要用户名/密码。通过分析该页面的内容,我将能够查看用户是否已登录。
我尝试通过使用 CURL(参见下面的代码)来实现这一点,但没有成功,因为即使用户通过相同的浏览器登录该站点,在打开我的站点时它也显示为好像他不是。我想问题出在 cookie 中,因为我在某处读到过,在发出 CURL 请求时,保存在浏览器中的 cookie 不可用。
有没有办法让 PHP 脚本使用浏览器中存储的 cookie(cookie 之前由该站点创建)从另一个站点打开页面?
Here is the PHP code from my site:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'www.my-site.com');
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'User agent');
$data = curl_exec($ch);
echo($data);
【问题讨论】:
-
“有没有办法让 PHP 脚本打开另一个站点的页面,使用浏览器中存储的 cookie(cookie 之前由该站点创建)?”。不,这将是一个巨大的安全问题。