如何使用 php 或 javascript 绕过 Cloudflare

Posted

技术标签:

【中文标题】如何使用 php 或 javascript 绕过 Cloudflare【英文标题】:How To Bypass Cloudfare using php or javascript 【发布时间】:2017-12-18 02:20:26 【问题描述】:

我的问题是

我之前在 paxfull api 上提出了 curl 请求,它返回了结果,但现在它返回了 503。

这是我的代码

 $handle = curl_init();

curl_setopt($handle, CURLOPT_URL, 'https://paxful.com/buy-bitcoin?format=json');
curl_setopt($handle, CURLOPT_POST, false);
curl_setopt($handle, CURLOPT_BINARYTRANSFER, false);
curl_setopt($handle, CURLOPT_HEADER, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 10);

$response = curl_exec($handle);
$hlength  = curl_getinfo($handle, CURLINFO_HEADER_SIZE);
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
$body     = substr($response, $hlength);

// If HTTP response is not 200, throw exception
if ($httpCode != 200) 
    throw new Exception($httpCode);

我收到此错误:

错误致命错误:未捕获的异常“异常”和消息“503”

我用谷歌搜索,发现它可能是 IP 地址被阻止,但是当在浏览器上发出获取请求时,它会给我结果。

现在我得出结论,他们不允许任何 GET 请求。

如果你运行 url https://paxful.com/buy-bitcoin?format=json 它首先检查浏览器返回结果。

我们如何获得 paxfull api 的结果。请建议

这里是快照

然后有 api 重定向 404

网址http://localhost/cdn-cgi/l/chk_jschl?jschl_vc=c5b74eae14eb1b1e5862f913b9f0f178&pass=1499953121.017-h%2FljgkjMr%2B&jschl_answer=18913

也无法通过 javascript 实现

小提琴http://jsfiddle.net/00cvyyuo/350/

我找到了链接How to bypass cloudflare bot/ddos protection in Scrapy?

但是这个链接在 python 中有帮助,所以有人可以在 php 或 javascript 中提供帮助。

【问题讨论】:

它使用 cloudflare,并且需要 javascript 来执行测试。所以你不能直接从 php 使用它 我需要 php 或 javascript 我不知道 python 的解决方案 【参考方案1】:

尝试在开发者工具(f12) 中使用 Chrome 的网络选项卡来查看正在发送的实际请求。如果有效,则尝试重复来自 REST 客户端的请求,您可以在其中编辑标头以检查哪些有效,哪些无效。

如果你得到它,然后在 cURL 中设置所有标题。如果失败,则设置详细并检查发送的内容。

【讨论】:

接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8 Accept-编码:gzip,放气,br Accept-Language:en-US,en;q=0.8,hi;q=0.6 Cache-Control:no-cache Connection:keep-alive Cookie:PHPSESSID=7bb9t8jf3beuus4ulgfkj9nfr4 Host:localhost Pragma:no-缓存 Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 我不需要这个请求。你必须弄清楚你必须发送什么。使用 REST 客户端查看您需要发送的内容!尝试删除所有不必要的 我已经检查过这个 api 没有从任何 ip 给出响应

以上是关于如何使用 php 或 javascript 绕过 Cloudflare的主要内容,如果未能解决你的问题,请参考以下文章

filter_var 函数()使用javascript伪协议绕过执行xss

上传文件绕过姿势

php异或计算绕过preg_match()

绕过 Gmail 的垃圾邮件过滤器(使用 PHP 从共享主机发送的邮件)

如何绕过使用 php cURL 库编写网站的 Oracle ADF 环回脚本?

绕过PHP代码执行中的过滤限制详解