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 地址相关联?的主要内容,如果未能解决你的问题,请参考以下文章

验证电子邮件是不是链接到有效的 PayPal 帐户

问题1: js 不能往非80端口写cookie? 问题2: 如果访问题地址是IP地址,80端口,是不是能写cookie

将 IP 地址与国家/地区相关联[关闭]

客户端识别与cookie机制

客户端识别与cookie机制

LetsEncrypt SSL 在 IP 地址上