PayPal cookie 是不是与 IP 地址相关联?
Posted
技术标签:
【中文标题】PayPal cookie 是不是与 IP 地址相关联?【英文标题】:Are PayPal cookies linked to an IP address?PayPal cookie 是否与 IP 地址相关联? 【发布时间】:2010-12-22 18:35:25 【问题描述】:我一直在尝试使用 curl 使用 php 访问 PayPal 支付授权网站。
例如
... $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $nvp); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $res = curl_exec ($ch); preg_match_all('/Set-Cookie: .*/', $res, $cookieMatches); foreach ($cookieMatches[0] 作为 $cookieMatch) 标头($cookieMatch); preg_match('/Location: .*/', $res, $locMatches); 标头($locMatches[0]); header('Vary: Accept-Encoding'); header('Strict-Transport-Security: max-age=500'); header('传输编码:分块'); header('Content-Type: text/html');原则是简单地反映原始重定向(我相信有一种更简单的方法可以做到这一点)。但是,来自 PayPal 的响应似乎表明某种 cookie 错误。
我的预感是 cookie 已以某种方式链接到原始计算机。谁能证实这一点,或者我只是错过了一些明显的东西!
【问题讨论】:
【参考方案1】:CURL 内置了对 cookie 的支持(如您所知)。但这很棘手。在我声明选项之前,我还没有管理 cookie 工作
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
第三个参数是存储 cookie 的文件的名称 - 最好在临时文件夹中。也许您应该尝试这种方法。
有了这个重定向工作“自动”。
【讨论】:
感谢您的建议 - 还应设置 CURLOPT_COOKIEFILE。我最初尝试了这种方法,但 PayPal 账单详细信息或登录提交表单随后失败。与直接提交 HTML 表单相比,浏览器似乎缺少一些 cookie。 HTTP 嗅探器证实了这一点 - 这就是我尝试上述方法的原因。【参考方案2】:curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
//SAVE THE COOKIES
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
USE THE COOKIES
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1');
// Follow Where the location will take you, maybe you catch the issue.
由于它在浏览器上运行,它必须使用 CURL 运行,除非他们使用 javascript 来设置 cookie。 即使他们根据 IP 地址使用 cookie,也请尝试使用 curl 从头开始会话,以便他们使用生成的 cookie 设置您的服务器 IP 地址。
【讨论】:
以上是关于PayPal cookie 是不是与 IP 地址相关联?的主要内容,如果未能解决你的问题,请参考以下文章