这段防 CC 攻击代码如何? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tianxiacangshen
V2EX    PHP

这段防 CC 攻击代码如何?

  •  
  •   tianxiacangshen 2017-08-02 20:24:44 +08:00 5226 次点击
    这是一个创建于 3053 天前的主题,其中的信息可能已经有所发展或是发生改变。
    if($_COOKIE['yes_cc']){
    if(microtime(true) - $_COOKIE['yes_cc'] < 0.3){
    redirect('http://127.0.0.1');
    }
    }else{
    cookie('yes_cc',microtime(true),1); //不知道为什么,浏览器禁用 cookie 了这条语句还是能写入
    }
    if(!$_COOKIE['yes_cc']) redirect('http//127.0.0.1');

    设置 cookie 过期时间为 1 秒,如果 0.3 秒内访问超过 1 次就跳转到 http://127.0.0.1,如果禁用 cookie 也跳转到 http://127.0.0.1
    26 条回复    2017-08-16 11:18:34 +08:00
    JackBlack2006
        1
    JackBlack2006  
       2017-08-02 20:37:58 +08:00
    少数禁用了 cookie 的 firefox chrome 哭晕在硬盘里(滑稽)
    JackBlack2006
        2
    JackBlack2006  
       2017-08-02 20:38:33 +08:00
    不过这是个好思路,上述的用户毕竟少数
    lianz
        3
    lianz  
       2017-08-02 20:40:05 +08:00   5
    零价值代码。
    请求打到了 PHP 上已经算是防御失败了。
    zbinlin
        4
    zbinlin  
       2017-08-02 20:42:36 +08:00
    干吗要跳转到 127.0.0.1,直接 denied 不就行了。
    tianxiacangshen
        5
    tianxiacangshen  
    OP
       2017-08-02 20:43:03 +08:00
    @JackBlack2006 但是我刚刚测试禁用 cookie,cookie('yes_cc',microtime(true),1); 这条语句还是能写入和读出,不知道什么原因
    tianxiacangshen
        6
    tianxiacangshen  
    OP
       2017-08-02 20:47:53 +08:00
    @lianz 请问这段代码能防止每秒 1000-3000 次的 cc 攻击吗,我是 windows 服务器 ,php+mysql+IIS7 环境,请问怎么高效防 cc ?
    Phant0m
        7
    Phant0m  
       2017-08-02 20:51:13 +08:00
    试试 nginx+lua
    whatsmyip
        8
    whatsmyip  
       2017-08-02 20:52:08 +08:00
    设置 COOKIE 只是发出了一个 http header,浏览器禁用 COOKIE 就不会执行。

    你可以把 COOKIE[] 看作是一个普通变量,自然可以在写入后读取了。

    真想用 COOKIE 的话,可以先让跳转到某一页面种 COOKIE。

    不过话说这种手段基本防君子不防小人。
    VgV
        9
    VgV  
       2017-08-02 21:07:11 +08:00
    cookies 不行,如果我每一次访问都重新设置时间呢?
    Yourshell
        10
    Yourshell  
       2017-08-02 21:29:14 +08:00
    直接屏蔽 IP,第三方防火墙。
    ovear
        11
    ovear  
       2017-08-02 21:30:08 +08:00
    打到 php 上了就都不行。。
    rainex
        12
    rainex  
       2017-08-02 21:48:10 +08:00
    我知道的 cc 攻击都是专用工具,只管建立 http 连接,也不管你返回要建立 cookie 还是干嘛,人家根本不理会

    cooke 本质上是种靠不住的东西
    lslqtz
        13
    lslqtz  
       2017-08-02 22:15:47 +08:00 via iPhone
    @rainex 正是因为不会回应建立 cookie 才可以防御。
    iyaozhen
        14
    iyaozhen  
       2017-08-02 22:34:25 +08:00 via Android
    我每请求带的 yes_cc 固定为未来的一个时间戳,不就行了
    03
        15
    03  
       2017-08-02 22:59:38 +08:00 via Android
    永远不要相信用户输入。。。cookies 是存在客户端的
    0ZXYDDu796nVCFxq
        16
    0ZXYDDu796nVCFxq  
       2017-08-02 23:19:09 +08:00 via iPhone
    弄十几个能 set-cookie 的肉鸡,轻松击垮
    changwei
        17
    changwei  
       2017-08-02 23:29:08 +08:00 via Android
    人家黑客也不是吃素的,别人难道不会专门针对你这种策略写个 cc 攻击器嘛?
    rootx
        18
    rootx  
       2017-08-03 01:47:52 +08:00 via iPhone
    在 nginx 层防住才能叫防 CC
    jarlyyn
        19
    jarlyyn  
       2017-08-03 01:58:33 +08:00
    如果要做这种的话,直接 nginx 处理不就好了,连 lua 都不需要
    判断有没有 cooke,没有 cookie 403 到带 js 设置的页面并 reload
    有 cookie 正常访问

    参考 https://blog.jarlyyn.com/site/blogi/100-%E7%94%A8nginx+cookie%E9%98%B2%E6%AD%A2%E7%AE%80%E5%8D%95%E7%9A%84%E6%8A%93%E5%8F%96/%E7%A0%B4%E8%A7%A3%E9%AA%9A%E6%89%B0
    msg7086
        20
    msg7086  
       2017-08-03 02:19:34 +08:00
    负价值,只杀普通用户,不杀 CC 脚本。
    msg7086
        21
    msg7086  
       2017-08-03 02:20:50 +08:00
    @iyaozhen 说反了。应该是固定为 0 就行了。
    aksoft
        22
    aksoft  
       2017-08-03 08:55:58 +08:00
    你这个没啥用。。。直接在 nginx 杀,lua 的性能不错啊
    blackboar
        23
    blackboar  
       2017-08-03 09:09:59 +08:00   1
    CC 只是一种概念性的定义,如果量很小你的代码能起到一些效果,再稍微大一点你的 php 挂了,需要 http 服务来解决,如果再大一些 http 服务就会挂掉,可能需要系统层面来处理,以此类推这个问题最终要在网络层面解决的;在当前的情况下已经基本没有通过这种方式来攻击了,都是挂大量的肉鸡、机房机器来攻击,这种情况下根本不需要考虑攻击的方式,直接往死了发包就行,一般都直接挂了;最终拼的就是带宽、网络层面的硬防,所以现在市面上买带宽做高仿的很多,软件防火墙这类产品根本没有市场了。
    vjnjc
        24
    vjnjc  
       2017-08-03 11:17:12 +08:00
    @lslqtz 因为人家的目的就是占用链接啊,没有防住“占用链接”这个事就是没用
    lslqtz
        25
    lslqtz  
       2017-08-03 16:05:41 +08:00
    @vjnjc
    没有防住不代表不能防住,更不能代表 cookie 没用。
    owenk
        26
    owenk  
       2017-08-16 11:18:34 +08:00
    没什么卵用,防 CC 除了代码外,还得靠防火墙和防护,我之前做网站防 CC 时,写了很多代码,最后还是被 CC 了,痛定思痛,为了节约时间,除使用代码外,还使用了安全狗,但是要在服务器上安全客户端,麻烦。
    最后找的是知道创宇抗 D 保来防 CC 的,效果还不错,至少目前没有遇到什么大的问题。
    贴个地方,方便大家。
    https://www.yunaq.com/kangdbao/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1004 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:39 PVG 02:39 LAX 10:39 JFK 13:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86