gpt4 book ai didi

php - CURL 和 DDOS 问题

转载 作者:行者123 更新时间:2023-12-04 18:10:43 26 4
gpt4 key购买 nike

我需要从远程 http 服务器获取一些数据。我正在使用 Curl 类进行多请求。我的问题是远程服务器的防火墙。我在 10000 个 GET 和 POST 请求之间发送 1000 个。服务器禁止我使用 DDOS。

İ 使用了此措施。

  • 包仍然包含头信息

    curl_setopt($this->ch, CURLOPT_HTTPHEADER, $header);

  • 包仍然包含随机引用信息

    curl_setopt($this->ch, CURLOPT_REFERER, $refs[rand(0,count($refs))]);

  • 软件包仍然包含随机用户代理

    curl_setopt($this->ch, CURLOPT_USERAGENT, $agents[rand(0,count($agents))]);

  • 我使用随机间隔 sleep 功能发送包裹。

    sleep (兰德(0,10));

但每次禁止访问服务器1小时。

抱歉我的英语不好:)谢谢大家。

最佳答案

在短时间内向服务器发送大量请求可能会产生与 DOS 攻击相同的影响,无论您是否有意这样做。一个快速的解决方法是将 sleep 行从 sleep(rand(0,10)); 更改,这意味着有十分之一的机会立即将下一个请求发送到 sleep(3 ); 这意味着请求之间总是有 3 秒(大约)。 3 秒应该足以让大多数服务器满意。验证此方法有效后,您可以将值减小到 2 或 1 以查看是否可以加快速度。

更好的解决方案是在服务器上创建一个 API,使您可以在 1 个或至少几个请求中获取所需的数据。显然,这只有在您能够对服务器进行更改(或者可以说服那些可以代表您进行更改的人)时才有可能。

关于php - CURL 和 DDOS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com