V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
decken
V2EX  ›  问与答

七牛怎么防范这种恶意行为?

  •  
  •   decken · 2015-07-04 12:16:31 +08:00 · 4351 次点击
    这是一个创建于 3432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    直接上脚本吧,试了一下,好像每次都正常响应请求

    import requests
    import random
    while True:
        requests.get("http://qiniuphotos.qiniudn.com/gogopher.jpg?imageView2/1/w/%d/h/%d" % (int(random.random()*5000), int(random.random()*5000)))
    
    第 1 条附言  ·  2015-07-05 09:10:47 +08:00
    如果有开启原图保护功能的话,这种方法就不行了.
    25 条回复    2015-09-22 12:43:14 +08:00
    greatghoul
        1
    greatghoul  
       2015-07-04 12:20:38 +08:00 via Android
    在这个文件按住f5不放
    kn007
        2
    kn007  
       2015-07-04 12:27:46 +08:00
    关注下。。。
    kn007
        3
    kn007  
       2015-07-04 12:28:14 +08:00
    cc @bigfa
    kslr
        4
    kslr  
       2015-07-04 12:49:40 +08:00
    话说你们忘了请求数也要算钱么? 七牛根本不用管啊 扣扣扣
    isaced
        5
    isaced  
       2015-07-04 12:56:09 +08:00
    大不了就是请求原图咯,原图没有那么大,你给的 size 再大,还是只会返回原图尺寸。
    pubby
        6
    pubby  
       2015-07-04 13:09:01 +08:00
    后面应该也是ImageMagick之类的处理进程。
    这种确实很消耗计算资源的。 对width,height应该会做一些限制,要不然好大的尺寸一次请求占用几个G的内存都不稀奇
    decken
        7
    decken  
    OP
       2015-07-04 13:21:25 +08:00 via Android
    @kslr 这张图是官方的示例图

    @isaced 还有裁剪 质量等参数 都需要耗费资源
    ryd994
        8
    ryd994  
       2015-07-04 13:28:53 +08:00
    其实比起这个,更希望有一次性token的功能,毕竟这样的话就可以在程序里用了。
    只限时间的话,还是很容易被人恶意刷流量啊
    phy25
        9
    phy25  
       2015-07-04 14:24:49 +08:00
    @ryd994 http://developer.qiniu.com/docs/v6/api/overview/dn/security.html
    把空间设为私有,生成一个带过期时间的 token,构造地址,就可以了。
    q84629462
        10
    q84629462  
       2015-07-04 14:45:11 +08:00 via Android
    leancloud的js sdk也有问题,在使用leancloud js sdk的网页被人用网页开发者工具写个for就可以不断调用API,那钱就哗哗哗的流走了
    isaced
        11
    isaced  
       2015-07-04 16:38:37 +08:00
    @decken 七牛是有缓存的,所以你重复请求只会浪费带宽而已
    decken
        12
    decken  
    OP
       2015-07-04 17:13:20 +08:00 via Android
    @phy25 这种方法确实可以,但是麻烦多了。不知道七牛后台有没有提供公共空间限定处理参数的功能,毕竟业务上用的图片分辨率就几种,有的话就灵活得多了。
    decken
        13
    decken  
    OP
       2015-07-04 17:18:46 +08:00 via Android
    @isaced 假如一张500x500的图 质量1到100 缩放 裁剪 旋转 转换格式 这些参数不同组合有多恐怖?缓存也不行了
    Showfom
        14
    Showfom  
       2015-07-04 17:22:28 +08:00 via iPhone
    @isaced 随即请求不同的大小等参数,URL都不一样的吧 不过可以排列组合下
    guesskiss
        15
    guesskiss  
       2015-07-04 20:51:59 +08:00
    @decken 你那样的话,如果一个壁纸站,平均是1920*1080的图片,我在一个大流量的的网站上挂上你那个图片,质量1到100 缩放 裁剪 旋转 转换格式全部random,估计七牛的服务器会冒烟的
    decken
        16
    decken  
    OP
       2015-07-04 21:26:21 +08:00
    @guesskiss 估计壁纸站的钱哗啦啦
    phy25
        17
    phy25  
       2015-07-04 22:54:47 +08:00 via Android   ❤️ 1
    @decken 您跑题好快啊。自己看下文档吧,印象是有的,没有的话出门右转只能预设的又拍。
    DearTanker
        18
    DearTanker  
       2015-07-04 23:30:49 +08:00
    官方说有缓存,24小时有效
    decken
        19
    decken  
    OP
       2015-07-05 00:27:41 +08:00 via Android   ❤️ 1
    @DearTanker 上面已说 即使有缓存 这种组合也是非常多的,缓存对于访问相同参数的url才有效吧
    ryd994
        20
    ryd994  
       2015-07-05 07:46:33 +08:00 via Android
    @phy25 重点是一次性
    用在客户端上,光限制时间根本没用……
    几十个恶意客户端一起上,流量刷爆
    重点不是时间,是人数
    decken
        21
    decken  
    OP
       2015-07-05 09:07:33 +08:00
    @phy25 开启原图保护功能的话,这种方法就不行了.
    gamexg
        22
    gamexg  
       2015-07-05 12:54:20 +08:00 via Android
    就是cc攻击啊,老方法了。
    对七牛而言量大了封掉攻击请求完事。
    对客户而言就设为私有开token完事。
    hjiang
        23
    hjiang  
       2015-07-27 20:49:33 +08:00
    @q84629462 这不是 LeanCloud 的问题。即使是你自己租服务器、带宽,也是可以用类似的恶意攻击方法把你的带宽占满的。

    如果发现这种问题可以让 LeanCloud 把攻击的请求过滤掉。另外 LeanCloud 也在增加新功能可以提示开发者一些异常的事件。
    q84629462
        24
    q84629462  
       2015-07-28 01:38:29 +08:00 via Android
    @hjiang 感谢回复
    另外请问lc有即时通讯的云代码平台吗?
    想用来做游戏服务器,客户端→lc即时通讯→我的服务器处理数据→lc即时通讯→客户端,这个流程太长
    想在lc云代码处理即时通讯数据
    hjiang
        25
    hjiang  
       2015-09-22 12:43:14 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.