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

2015-07-04 12:16:31 +08:00
 decken

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

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)))
4288 次点击
所在节点    问与答
25 条回复
greatghoul
2015-07-04 12:20:38 +08:00
在这个文件按住f5不放
kn007
2015-07-04 12:27:46 +08:00
关注下。。。
kn007
2015-07-04 12:28:14 +08:00
cc @bigfa
kslr
2015-07-04 12:49:40 +08:00
话说你们忘了请求数也要算钱么? 七牛根本不用管啊 扣扣扣
isaced
2015-07-04 12:56:09 +08:00
大不了就是请求原图咯,原图没有那么大,你给的 size 再大,还是只会返回原图尺寸。
pubby
2015-07-04 13:09:01 +08:00
后面应该也是ImageMagick之类的处理进程。
这种确实很消耗计算资源的。 对width,height应该会做一些限制,要不然好大的尺寸一次请求占用几个G的内存都不稀奇
decken
2015-07-04 13:21:25 +08:00
@kslr 这张图是官方的示例图

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203268

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX