【发布时间】:2010-11-08 17:35:17
【问题描述】:
我正在使用 cURL 远程登录网站,一切正常。我正在发布登录信息、检索 cookie 并被远程站点重定向。我对 cookie 的实际运作方式有几个疑问。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://website' );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/php/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/php/cookies.txt');
$result = curl_exec($ch);
$x = curl_getinfo($ch);
print_r($x);
1.) 通过 POST 发送登录信息是否需要注意一些安全问题?
2.) 当我将 curlopt_cookiejar 设置为 /php/cookies.txt 时,我实际上并没有看到该文件保存在任何地方。这可能是由于权限,但登录仍然有效。为什么会这样?允许写入和保存此文件的正确权限是什么?
3.) 以纯文本形式存储 cookiejar 文件是否安全?保存此文件的最佳位置是什么?
4.) 如果这个脚本被多个用户定期使用,是什么阻止了位于 cookies.txt 中的正确 cookie 信息(使用curlopt_cookiefile 发送回服务器)被其他已写入的 cookie 混淆在这个文件中?处理过期 cookie 并从该文件中删除旧 cookie 的最佳方法是什么?
这显然是 cURL 的一个非常重要的功能,但我似乎无法在任何地方找到这些答案。我希望 cURL 大师可以一劳永逸地解决这些问题。
【问题讨论】: