tianxiacangshen
V2EX  ›  PHP

这段防 CC 攻击代码如何?

  •  
  •   tianxiacangshen · Aug 2, 2017 · 5650 views
    This topic created in 3231 days ago, the information mentioned may be changed or developed.
    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 replies    2017-08-16 11:18:34 +08:00
    JackBlack2006
        1
    JackBlack2006  
       Aug 2, 2017
    少数禁用了 cookie 的 firefox chrome 哭晕在硬盘里(滑稽)
    JackBlack2006
        2
    JackBlack2006  
       Aug 2, 2017
    不过这是个好思路,上述的用户毕竟少数
    lianz
        3
    lianz  
       Aug 2, 2017   ❤️ 5
    零价值代码。
    请求打到了 PHP 上已经算是防御失败了。
    zbinlin
        4
    zbinlin  
       Aug 2, 2017
    干吗要跳转到 127.0.0.1,直接 denied 不就行了。
    tianxiacangshen
        5
    tianxiacangshen  
    OP
       Aug 2, 2017
    @JackBlack2006 但是我刚刚测试禁用 cookie,cookie('yes_cc',microtime(true),1); 这条语句还是能写入和读出,不知道什么原因
    tianxiacangshen
        6
    tianxiacangshen  
    OP
       Aug 2, 2017
    @lianz 请问这段代码能防止每秒 1000-3000 次的 cc 攻击吗,我是 windows 服务器 ,php+mysql+IIS7 环境,请问怎么高效防 cc ?
    Phant0m
        7
    Phant0m  
       Aug 2, 2017
    试试 nginx+lua
    whatsmyip
        8
    whatsmyip  
       Aug 2, 2017
    设置 COOKIE 只是发出了一个 http header,浏览器禁用 COOKIE 就不会执行。

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

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

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

    cooke 本质上是种靠不住的东西
    lslqtz
        13
    lslqtz  
       Aug 2, 2017 via iPhone
    @rainex 正是因为不会回应建立 cookie 才可以防御。
    iyaozhen
        14
    iyaozhen  
       Aug 2, 2017 via Android
    我每请求带的 yes_cc 固定为未来的一个时间戳,不就行了
    03
        15
    03  
       Aug 2, 2017 via Android
    永远不要相信用户输入。。。cookies 是存在客户端的
    0ZXYDDu796nVCFxq
        16
    0ZXYDDu796nVCFxq  
       Aug 2, 2017 via iPhone
    弄十几个能 set-cookie 的肉鸡,轻松击垮
    changwei
        17
    changwei  
       Aug 2, 2017 via Android
    人家黑客也不是吃素的,别人难道不会专门针对你这种策略写个 cc 攻击器嘛?
    rootx
        18
    rootx  
       Aug 3, 2017 via iPhone
    在 nginx 层防住才能叫防 CC
    jarlyyn
        19
    jarlyyn  
       Aug 3, 2017
    如果要做这种的话,直接 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  
       Aug 3, 2017
    负价值,只杀普通用户,不杀 CC 脚本。
    msg7086
        21
    msg7086  
       Aug 3, 2017
    @iyaozhen 说反了。应该是固定为 0 就行了。
    aksoft
        22
    aksoft  
       Aug 3, 2017
    你这个没啥用。。。直接在 nginx 杀,lua 的性能不错啊
    blackboar
        23
    blackboar  
       Aug 3, 2017   ❤️ 1
    CC 只是一种概念性的定义,如果量很小你的代码能起到一些效果,再稍微大一点你的 php 挂了,需要 http 服务来解决,如果再大一些 http 服务就会挂掉,可能需要系统层面来处理,以此类推这个问题最终要在网络层面解决的;在当前的情况下已经基本没有通过这种方式来攻击了,都是挂大量的肉鸡、机房机器来攻击,这种情况下根本不需要考虑攻击的方式,直接往死了发包就行,一般都直接挂了;最终拼的就是带宽、网络层面的硬防,所以现在市面上买带宽做高仿的很多,软件防火墙这类产品根本没有市场了。
    vjnjc
        24
    vjnjc  
       Aug 3, 2017
    @lslqtz 因为人家的目的就是占用链接啊,没有防住“占用链接”这个事就是没用
    lslqtz
        25
    lslqtz  
       Aug 3, 2017
    @vjnjc
    没有防住不代表不能防住,更不能代表 cookie 没用。
    owenk
        26
    owenk  
       Aug 16, 2017
    没什么卵用,防 CC 除了代码外,还得靠防火墙和防护,我之前做网站防 CC 时,写了很多代码,最后还是被 CC 了,痛定思痛,为了节约时间,除使用代码外,还使用了安全狗,但是要在服务器上安全客户端,麻烦。
    最后找的是知道创宇抗 D 保来防 CC 的,效果还不错,至少目前没有遇到什么大的问题。
    贴个地方,方便大家。
    https://www.yunaq.com/kangdbao/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   828 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 20:29 · PVG 04:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.