2

我正在开发一个通过 cURL 进行远程登录的应用程序。

远程站点发出一个会话 cookie,我可以将其存储在我的 cookie jar 中。

我希望我站点的每个用户在远程站点上都有一个唯一的会话。我的应用程序仅适用于一个用户(我),但我不确定如何使其成为多用户。

我的第一个想法是为我的应用程序用户设置一个会话变量,然后使用这个变量作为 cookie jar 的名称,但这看起来很难看。

是否有任何内置的 PHP/cURL 功能可以将唯一会话从远程服务器传递给我的用户?

非常感谢您的帮助。

杰克

4

1 回答 1

3

您的问题包含解决方案的每个元素,即 cookie jar 和会话。

当您将 cookie jar 文件提供给 CURL 时,只需根据您的用户为其命名,例如:

$protected_cookie_dir='/cookies/';
$uid=getUser()->id; // get the user id
curl_set_opt($ch,CURLOPT_COOKIEFILE,$protected_cookie_dir.'file_'.$uid.'.data');
curl_set_opt($ch,CURLOPT_COOKIEJAR,$protected_cookie_dir.'jar_'.$uid.'.data');

重要提示:请务必隐藏该文件夹(可能将其存储在文档根目录之外)。

于 2011-04-20T14:26:41.707 回答